summaryrefslogtreecommitdiff
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@nuts.davemloft.net>2004-06-16 22:11:42 -0700
committerDavid S. Miller <davem@nuts.davemloft.net>2004-06-16 22:11:42 -0700
commitd2a2fd166e421b44fec5aaf054639cdd134e332a (patch)
tree7c014783f6e3cd98c3a5c112e56560fca69866b9 /net/core/dev.c
parent4c45b4df98b2cd48fb455a2de3ac006e100fe793 (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.c2
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;
}