[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>
This commit is contained in:
parent
663ead3bb8
commit
628592ccdb
@ -1328,7 +1328,7 @@ static int atl1_tx_csum(struct atl1_adapter *adapter, struct sk_buff *skb,
|
|||||||
|
|
||||||
if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) {
|
if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) {
|
||||||
cso = skb_transport_offset(skb);
|
cso = skb_transport_offset(skb);
|
||||||
css = cso + skb->csum;
|
css = cso + skb->csum_offset;
|
||||||
if (unlikely(cso & 0x1)) {
|
if (unlikely(cso & 0x1)) {
|
||||||
printk(KERN_DEBUG "%s: payload offset != even number\n",
|
printk(KERN_DEBUG "%s: payload offset != even number\n",
|
||||||
atl1_driver_name);
|
atl1_driver_name);
|
||||||
|
@ -2959,7 +2959,8 @@ e1000_tx_csum(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
|
|||||||
|
|
||||||
context_desc->lower_setup.ip_config = 0;
|
context_desc->lower_setup.ip_config = 0;
|
||||||
context_desc->upper_setup.tcp_fields.tucss = css;
|
context_desc->upper_setup.tcp_fields.tucss = css;
|
||||||
context_desc->upper_setup.tcp_fields.tucso = css + skb->csum;
|
context_desc->upper_setup.tcp_fields.tucso =
|
||||||
|
css + skb->csum_offset;
|
||||||
context_desc->upper_setup.tcp_fields.tucse = 0;
|
context_desc->upper_setup.tcp_fields.tucse = 0;
|
||||||
context_desc->tcp_seg_setup.data = 0;
|
context_desc->tcp_seg_setup.data = 0;
|
||||||
context_desc->cmd_and_length = cpu_to_le32(E1000_TXD_CMD_DEXT);
|
context_desc->cmd_and_length = cpu_to_le32(E1000_TXD_CMD_DEXT);
|
||||||
|
Loading…
Reference in New Issue
Block a user