aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sungem.c
diff options
context:
space:
mode:
authorMichał Mirosław <mirq-linux@rere.qmqm.pl>2010-12-14 10:24:08 -0500
committerDavid S. Miller <davem@davemloft.net>2010-12-16 17:43:15 -0500
commit0d0b16727f24f8258eeb33818347ca0f4557f982 (patch)
treee89fec837700b02aff0d08de1c5cbae3ff5060a8 /drivers/net/sungem.c
parent55508d601dab7df5cbcc7a63f4be8620eface204 (diff)
net: Fix drivers advertising HW_CSUM feature to use csum_start
Some drivers are using skb_transport_offset(skb) instead of skb->csum_start for NETIF_F_HW_CSUM offload. This does not matter now, but if someone implements checksumming of encapsulated packets then this will break silently. TSO output paths are left as they are, since they are for IP+TCP only (might be worth converting though). Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sungem.c')
-rw-r--r--drivers/net/sungem.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index 9e992ca4f543..1c5408f83937 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -1004,7 +1004,7 @@ static netdev_tx_t gem_start_xmit(struct sk_buff *skb,
1004 1004
1005 ctrl = 0; 1005 ctrl = 0;
1006 if (skb->ip_summed == CHECKSUM_PARTIAL) { 1006 if (skb->ip_summed == CHECKSUM_PARTIAL) {
1007 const u64 csum_start_off = skb_transport_offset(skb); 1007 const u64 csum_start_off = skb_checksum_start_offset(skb);
1008 const u64 csum_stuff_off = csum_start_off + skb->csum_offset; 1008 const u64 csum_stuff_off = csum_start_off + skb->csum_offset;
1009 1009
1010 ctrl = (TXDCTRL_CENAB | 1010 ctrl = (TXDCTRL_CENAB |