diff options
author | Jarek Poplawski <jarkao2@gmail.com> | 2009-12-24 06:54:29 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-24 06:54:29 +0100 |
commit | c0d7a0212becebe11ffe6979ee3d6f1c4104568d (patch) | |
tree | c15c91cec8b1d547def8c2381594fef0ae077f98 /fs | |
parent | ixgbe: fix Need to call pci_save_state after pci_restore_state (diff) | |
download | linux-c0d7a0212becebe11ffe6979ee3d6f1c4104568d.tar.xz linux-c0d7a0212becebe11ffe6979ee3d6f1c4104568d.zip |
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>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions