[NET]: Fix busy waiting in dev_close().
If the current task has signal_pending(), the loop we have to wait for the __LINK_STATE_RX_SCHED bit to clear becomes a pure busy-loop. Fixed by using msleep() instead of the hand-crafted version. Noticed by Andrew Morton. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2ac6608c41
commit
6192b54b84
|
@ -901,8 +901,7 @@ int dev_close(struct net_device *dev)
|
|||
smp_mb__after_clear_bit(); /* Commit netif_running(). */
|
||||
while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
|
||||
/* No hurry. */
|
||||
current->state = TASK_INTERRUPTIBLE;
|
||||
schedule_timeout(1);
|
||||
msleep(1);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue