Skip to content

Commit

Permalink
e1000: remove e1000_clean_tx_irq call from e1000_netpoll
Browse files Browse the repository at this point in the history
The call to e1000_clean_tx_irq in e1000_netpoll can race with the call
to e1000_clean_tx_irq in e1000_clean.  With a small bit of tweaking to
to netpoll_send_skb to simulate a system that was under extreme stress,
I was able to reproduce these concurrent calls.  This can result in
multiple frees to the skbs on the tx ring buffer.

Dropping this call from e1000_netpoll should be fine since we can rely
on the calls in e1000_clean to do what is needed since napi will poll
the hardware just after calling poll_controller.

Signed-off-by: Andy Gospodarek <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
  • Loading branch information
gospo authored and Jeff Garzik committed Jun 28, 2008
1 parent 42bfd33 commit b45f876
Showing 1 changed file with 0 additions and 1 deletion.
1 change: 0 additions & 1 deletion drivers/net/e1000/e1000_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -5251,7 +5251,6 @@ e1000_netpoll(struct net_device *netdev)

disable_irq(adapter->pdev->irq);
e1000_intr(adapter->pdev->irq, netdev);
e1000_clean_tx_irq(adapter, adapter->tx_ring);
#ifndef CONFIG_E1000_NAPI
adapter->clean_rx(adapter, adapter->rx_ring);
#endif
Expand Down

0 comments on commit b45f876

Please sign in to comment.