Skip to content

Commit

Permalink
netxen: fix race in skb->len access
Browse files Browse the repository at this point in the history
As soon as skb is given to hardware, TX completion can free skb under
us.
Therefore, we should update dev stats before kicking the device.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Eric Dumazet authored and David S. Miller committed Jun 20, 2011
1 parent 44da29d commit c82b9d7
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/net/netxen/netxen_nic_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1965,11 +1965,11 @@ netxen_nic_xmit_frame(struct sk_buff *skb, struct net_device *netdev)

netxen_tso_check(netdev, tx_ring, first_desc, skb);

netxen_nic_update_cmd_producer(adapter, tx_ring);

adapter->stats.txbytes += skb->len;
adapter->stats.xmitcalled++;

netxen_nic_update_cmd_producer(adapter, tx_ring);

return NETDEV_TX_OK;

drop_packet:
Expand Down

0 comments on commit c82b9d7

Please sign in to comment.