Jarek Poplawski c0d7a0212b net/via-rhine: Fix scheduling while atomic bugs
There are BUGs "scheduling while atomic" triggered by the timer
rhine_tx_timeout(). They are caused by calling napi_disable() (with
msleep()). This patch fixes it by moving most of the timer content to
the workqueue function (similarly to other drivers, like tg3), with
spin_lock() changed to BH version.

Additionally, there is spin_lock_irq() moved in rhine_close() to
exclude napi_disable() etc., also tg3's way.

Reported-by: Andrey Rahmatullin <wrar@altlinux.org>
Tested-by: Andrey Rahmatullin <wrar@altlinux.org>
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-23 21:54:29 -08:00
..
2009-10-13 11:48:18 -07:00
2009-12-11 11:55:21 -08:00
2009-09-01 01:13:50 -07:00
2008-11-25 18:25:32 -08:00
2009-04-04 16:51:14 -07:00
2009-08-12 23:03:00 -07:00
2009-08-12 22:53:28 -07:00
2009-11-05 20:00:41 -08:00
2009-11-05 20:00:29 -08:00
2009-11-06 20:26:09 -08:00
2008-09-22 19:27:10 -07:00
2009-10-11 23:30:16 -07:00
2009-10-11 23:30:16 -07:00
2009-11-11 19:22:21 -08:00
2009-09-23 07:39:43 -07:00
2009-10-11 11:20:58 -07:00
2008-11-25 18:23:59 -08:00
2009-10-20 18:51:37 -07:00
2009-12-18 20:38:37 -08:00
2008-11-25 18:24:57 -08:00
2009-04-16 02:20:08 -07:00
2009-09-07 01:56:52 -07:00
2009-01-06 10:47:44 -08:00
2009-11-20 15:35:04 -08:00
2009-07-06 13:05:13 -07:00
2009-10-13 11:48:18 -07:00
2009-10-20 19:11:06 -07:00
2008-11-25 18:24:38 -08:00
2009-04-16 02:20:16 -07:00
2009-04-16 02:20:21 -07:00
2009-11-13 14:07:30 -08:00
2009-04-29 17:32:34 -07:00
2009-12-07 18:36:35 +01:00
2009-10-13 11:48:18 -07:00
2009-10-13 11:48:18 -07:00
2009-10-01 15:14:54 -07:00
2009-12-14 22:07:15 -08:00
2009-10-29 22:57:27 -07:00
2009-03-27 00:46:48 -07:00
2008-11-25 18:25:49 -08:00
2008-08-29 02:13:33 -07:00
2008-08-29 02:14:29 -07:00
2008-08-29 02:14:43 -07:00
2009-12-03 13:18:08 -08:00
2009-12-03 13:18:04 -08:00
2009-11-06 22:52:32 -08:00
2009-11-26 15:51:29 -08:00
2009-01-11 00:06:36 -08:00