diff options
| author | David S. Miller <davem@nuts.davemloft.net> | 2004-06-16 22:11:42 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.davemloft.net> | 2004-06-16 22:11:42 -0700 |
| commit | d2a2fd166e421b44fec5aaf054639cdd134e332a (patch) | |
| tree | 7c014783f6e3cd98c3a5c112e56560fca69866b9 /net/core/dev.c | |
| parent | 4c45b4df98b2cd48fb455a2de3ac006e100fe793 (diff) | |
[NET]: In unregister_netdevice(), do synchronize_net() before final dev_put().
This way we make sure that all destination cache updates
to remove references to this device are seen by entire
system before final destruction of the device.
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index fb20e1047f27..27cbb530b95b 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3177,6 +3177,8 @@ int unregister_netdevice(struct net_device *dev) /* Finish processing unregister after unlock */ net_set_todo(dev); + synchronize_net(); + dev_put(dev); return 0; } |
