diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2003-09-08 19:46:25 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.osdl.org> | 2003-09-08 19:46:25 -0700 |
| commit | 84972baffd596f488994dfe19596a1bbdd7ecaca (patch) | |
| tree | c281b6cd1e4d9f091a18910bebce04e9000d993c | |
| parent | cdce088e98375930e87e46e86f22957e02928062 (diff) | |
[PATCH] Fix netdev close
This should fix the "ifconfig down ... ifconfig up" problems some
people have seen.
| -rw-r--r-- | net/core/dev.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 2cf887cee6d7..427100bd7f82 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -841,7 +841,11 @@ int dev_close(struct net_device *dev) * engine, but this requires more changes in devices. */ smp_mb__after_clear_bit(); /* Commit netif_running(). */ - netif_poll_disable(dev); + while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) { + /* No hurry. */ + current->state = TASK_INTERRUPTIBLE; + schedule_timeout(1); + } /* * Call the device specific close. This cannot fail. |
