diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-04-23 20:06:40 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:28:41 -0400 |
commit | 628592ccdbbb5bb751217cf02e2e7abb500d7ffe (patch) | |
tree | a81d6b2e87893851d36ffaa87c8f8757f4e13794 | |
parent | 663ead3bb8d5b561e70fc3bb3861c9220b5a77eb (diff) |
[NETDRV]: Perform missing csum_offset conversions
When csum_offset was introduced we did a conversion from csum to
csum_offset where applicable. A couple of drivers were missed in
this process.
It was harmless to begin with since the two fields coincided. Now
that we've made them different with the addition of csum_start, the
missed drivers must be converted or they can't send packets out at
all that require checksum offload.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/atl1/atl1_main.c | 2 | ||||
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/atl1/atl1_main.c b/drivers/net/atl1/atl1_main.c index d60c2217332c..4b1d4d153ecf 100644 --- a/drivers/net/atl1/atl1_main.c +++ b/drivers/net/atl1/atl1_main.c | |||
@@ -1328,7 +1328,7 @@ static int atl1_tx_csum(struct atl1_adapter *adapter, struct sk_buff *skb, | |||
1328 | 1328 | ||
1329 | if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) { | 1329 | if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) { |
1330 | cso = skb_transport_offset(skb); | 1330 | cso = skb_transport_offset(skb); |
1331 | css = cso + skb->csum; | 1331 | css = cso + skb->csum_offset; |
1332 | if (unlikely(cso & 0x1)) { | 1332 | if (unlikely(cso & 0x1)) { |
1333 | printk(KERN_DEBUG "%s: payload offset != even number\n", | 1333 | printk(KERN_DEBUG "%s: payload offset != even number\n", |
1334 | atl1_driver_name); | 1334 | atl1_driver_name); |
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 610216ec4918..48e2ade704d3 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -2959,7 +2959,8 @@ e1000_tx_csum(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | |||
2959 | 2959 | ||
2960 | context_desc->lower_setup.ip_config = 0; | 2960 | context_desc->lower_setup.ip_config = 0; |
2961 | context_desc->upper_setup.tcp_fields.tucss = css; | 2961 | context_desc->upper_setup.tcp_fields.tucss = css; |
2962 | context_desc->upper_setup.tcp_fields.tucso = css + skb->csum; | 2962 | context_desc->upper_setup.tcp_fields.tucso = |
2963 | css + skb->csum_offset; | ||
2963 | context_desc->upper_setup.tcp_fields.tucse = 0; | 2964 | context_desc->upper_setup.tcp_fields.tucse = 0; |
2964 | context_desc->tcp_seg_setup.data = 0; | 2965 | context_desc->tcp_seg_setup.data = 0; |
2965 | context_desc->cmd_and_length = cpu_to_le32(E1000_TXD_CMD_DEXT); | 2966 | context_desc->cmd_and_length = cpu_to_le32(E1000_TXD_CMD_DEXT); |