summaryrefslogtreecommitdiff
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
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.
-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;
}