Commit 51bf6bb4 authored by Michael Chan's avatar Michael Chan Committed by David S. Miller

bnx2: Protect tx timeout reset with rtnl_lock().

To prevent race conditions with other reset events.
Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cceea982
...@@ -6263,8 +6263,11 @@ bnx2_reset_task(struct work_struct *work) ...@@ -6263,8 +6263,11 @@ bnx2_reset_task(struct work_struct *work)
{ {
struct bnx2 *bp = container_of(work, struct bnx2, reset_task); struct bnx2 *bp = container_of(work, struct bnx2, reset_task);
if (!netif_running(bp->dev)) rtnl_lock();
if (!netif_running(bp->dev)) {
rtnl_unlock();
return; return;
}
bnx2_netif_stop(bp); bnx2_netif_stop(bp);
...@@ -6272,6 +6275,7 @@ bnx2_reset_task(struct work_struct *work) ...@@ -6272,6 +6275,7 @@ bnx2_reset_task(struct work_struct *work)
atomic_set(&bp->intr_sem, 1); atomic_set(&bp->intr_sem, 1);
bnx2_netif_start(bp); bnx2_netif_start(bp);
rtnl_unlock();
} }
static void static void
......
Markdown is supported
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