diff options
author | Michał Mirosław <mirq-linux@rere.qmqm.pl> | 2010-12-14 10:24:08 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-16 17:43:15 -0500 |
commit | 0d0b16727f24f8258eeb33818347ca0f4557f982 (patch) | |
tree | e89fec837700b02aff0d08de1c5cbae3ff5060a8 /drivers/net/myri10ge | |
parent | 55508d601dab7df5cbcc7a63f4be8620eface204 (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.c | 2 |
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 */ |