Skip to content
Commit c0d7a021 authored by Jarek Poplawski's avatar Jarek Poplawski Committed by David S. Miller
Browse files

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: default avatarAndrey Rahmatullin <wrar@altlinux.org>
Tested-by: default avatarAndrey Rahmatullin <wrar@altlinux.org>
Signed-off-by: default avatarJarek Poplawski <jarkao2@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 656ab817
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment