diff options
author | Mike McCormack <mikem@ring3k.org> | 2009-07-31 01:57:42 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-03 19:02:36 -0700 |
commit | f6caa14aa0b126d4a2933907d1519611b2a8524a (patch) | |
tree | 27f01a9597e56f0489746ad5fc9fc8b01e4f5368 /net | |
parent | 202ff1ec8e53d5dd36e1a5bd4b0a7ed7dbd45087 (diff) |
sky2: Avoid transmits during sky2_down()
This patch supersedes my previous patch "sky2: Avoid transmitting
during sky2_restart".
I have reworked the patch to avoid crashes during both sky2_restart()
and sky2_set_ringparam().
Without this patch, the sky2 driver can be crashed by doing:
# pktgen eth1 & (transmit many packets on eth1)
# ethtool -G eth1 tx 510
I am aware you object to storing extra state, but I can't see a way
around this. Without remembering that we're restarting,
netif_wake_queue() is called in the ISR from sky2_tx_complete(), and
netif_tx_lock() is used in sky2_tx_done(). If anybody can see a way
around this, please let me know.
Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions