summaryrefslogtreecommitdiff
path: root/drivers/net/skge.c
diff options
context:
space:
mode:
authorMichał Mirosław <mirq-linux@rere.qmqm.pl>2010-12-14 15:24:08 +0000
committerDavid S. Miller <davem@davemloft.net>2010-12-16 14:43:15 -0800
commit0d0b16727f24f8258eeb33818347ca0f4557f982 (patch)
treee89fec837700b02aff0d08de1c5cbae3ff5060a8 /drivers/net/skge.c
parent55508d601dab7df5cbcc7a63f4be8620eface204 (diff)
downloadlinux-3.10-0d0b16727f24f8258eeb33818347ca0f4557f982.tar.gz
linux-3.10-0d0b16727f24f8258eeb33818347ca0f4557f982.tar.bz2
linux-3.10-0d0b16727f24f8258eeb33818347ca0f4557f982.zip
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/skge.c')
-rw-r--r--drivers/net/skge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 8c1404b5838..50815fb963f 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -2764,7 +2764,7 @@ static netdev_tx_t skge_xmit_frame(struct sk_buff *skb,
td->dma_hi = map >> 32;
if (skb->ip_summed == CHECKSUM_PARTIAL) {
- const int offset = skb_transport_offset(skb);
+ const int offset = skb_checksum_start_offset(skb);
/* This seems backwards, but it is what the sk98lin
* does. Looks like hardware is wrong?