Mike McCormack f6caa14aa0 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>
2009-08-03 19:02:36 -07:00
..
2009-07-16 18:05:20 -07:00
2009-04-13 15:16:33 -07:00
2009-07-12 14:20:04 -07:00
2009-07-13 11:11:41 -07:00
2009-06-08 00:21:48 -07:00
2009-08-02 20:22:18 -07:00
2009-07-03 19:10:51 -07:00
2009-07-26 18:50:39 -07:00
2009-08-02 12:20:38 -07:00
2009-07-29 14:52:01 -04:00
2009-05-26 20:35:02 -07:00
2009-05-26 20:35:02 -07:00
2009-05-26 20:35:02 -07:00
2009-07-30 13:27:28 -07:00
2009-05-26 20:35:03 -07:00
2009-07-12 14:20:04 -07:00
2009-04-24 04:45:33 -07:00
2009-05-17 11:59:51 -07:00
2009-05-29 01:46:27 -07:00
2009-04-11 02:53:46 -07:00
2009-07-26 18:50:38 -07:00
2009-04-16 02:20:06 -07:00
2009-04-04 16:51:14 -07:00
2009-05-29 01:46:27 -07:00
2009-07-26 18:53:17 -07:00
2009-07-30 13:27:34 -07:00
2009-07-26 18:50:37 -07:00
2009-07-12 14:20:04 -07:00
2009-07-05 18:03:33 -07:00
2009-07-22 09:27:23 -07:00
2009-04-16 02:20:08 -07:00
2009-05-17 15:19:36 -07:00
2009-06-11 17:23:24 -07:00
2009-05-29 01:46:27 -07:00
2009-07-22 09:33:08 -07:00
2009-05-29 01:51:22 -07:00
2009-06-08 00:20:20 -07:00
2009-07-20 08:23:26 -07:00
2009-07-20 08:23:26 -07:00
2009-03-27 00:46:48 -07:00
2009-04-16 02:20:15 -07:00
2009-04-16 02:20:16 -07:00
2009-07-20 08:23:26 -07:00
2009-06-25 20:06:34 -07:00
2009-04-16 02:20:18 -07:00
2009-04-16 02:20:21 -07:00
2009-04-16 02:20:22 -07:00
2009-03-27 00:46:53 -07:00
2009-03-28 23:37:27 -07:00
2009-06-18 00:29:08 -07:00
2009-08-02 12:23:06 -07:00
2009-07-12 14:20:04 -07:00
2009-07-30 14:19:19 -07:00
2009-07-26 20:18:52 -07:00
2009-04-16 02:20:24 -07:00
2009-04-29 17:32:34 -07:00
2009-08-02 12:20:40 -07:00
2009-04-16 02:20:25 -07:00
2009-05-25 22:49:56 -07:00
2009-07-12 14:20:04 -07:00
2009-04-16 02:20:25 -07:00
2009-03-27 00:46:48 -07:00
2009-07-12 14:20:04 -07:00
2009-06-08 00:21:48 -07:00
2009-07-22 09:27:24 -07:00
2009-04-13 15:16:21 -07:00
2009-05-29 01:46:27 -07:00