aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/myri10ge
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/myri10ge
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/myri10ge')
-rw-r--r--drivers/net/myri10ge/myri10ge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index 1ce0207e62a9..a37fcf11ab36 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -2736,7 +2736,7 @@ again:
2736 odd_flag = 0; 2736 odd_flag = 0;
2737 flags = (MXGEFW_FLAGS_NO_TSO | MXGEFW_FLAGS_FIRST); 2737 flags = (MXGEFW_FLAGS_NO_TSO | MXGEFW_FLAGS_FIRST);
2738 if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) { 2738 if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) {
2739 cksum_offset = skb_transport_offset(skb); 2739 cksum_offset = skb_checksum_start_offset(skb);
2740 pseudo_hdr_offset = cksum_offset + skb->csum_offset; 2740 pseudo_hdr_offset = cksum_offset + skb->csum_offset;
2741 /* If the headers are excessively large, then we must 2741 /* If the headers are excessively large, then we must
2742 * fall back to a software checksum */ 2742 * fall back to a software checksum */