3c59x: Fix bad offset spec in skb_frag_dma_map
authorNeil Horman <nhorman@tuxdriver.com>
Wed, 17 Sep 2014 13:04:45 +0000 (09:04 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Sep 2014 20:28:57 +0000 (16:28 -0400)
Recently aded the use of skb_frag_dma_map to 3c59x, but didn't realize it
automatically included the frag_offset internally, as well as provided an option
to specify an extra offset in the parameter list.  We need to specify an offset
of 0 in the parameter list to avoid skb corruption that results in lost
connections.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Linux Kernel list <linux-kernel@vger.kernel.org>
CC: "David S. Miller" <davem@davemloft.net>
CC: Meelis Roos <mroos@linux.ee>
Tested-by: Meelis Roos <mroos@linux.ee>
drivers/net/ethernet/3com/3c59x.c

index 8ab87ff6a9e602e5703a5d8268c91f05a2e6cfb8..8ca49f04acecb22ff61b15437c2ecf4def4c190a 100644 (file)
@@ -2186,7 +2186,7 @@ boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev)
                        skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
 
                        dma_addr = skb_frag_dma_map(&VORTEX_PCI(vp)->dev, frag,
-                                                   frag->page_offset,
+                                                   0,
                                                    frag->size,
                                                    DMA_TO_DEVICE);
                        if (dma_mapping_error(&VORTEX_PCI(vp)->dev, dma_addr)) {