summaryrefslogtreecommitdiff
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorPatrick Mochel <mochel@osdl.org>2003-01-08 01:41:24 -0600
committerPatrick Mochel <mochel@osdl.org>2003-01-08 01:41:24 -0600
commit6ac4a2a44b3f5e8fa8384d0995dfbd8037526a93 (patch)
tree3b1655ec5e27e4469da653404c20b61c379c08c1 /net/core/dev.c
parent5ec7805b941e03a03c30e1ccd9c5de558f6a4e7a (diff)
network devices: make sure kobjects always get unregistered.
Third time's a charm.. This moves the kobject_unregister() call to after the out: label, making sure it always gets unregistered. It wasn't if if (dev->features & NETIF_F_DYNALLOC) was true (which it is for PPP devices), causing re-registration of devices to fail.
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index f791475e42fd..aa7add217dcd 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2678,8 +2678,6 @@ int unregister_netdevice(struct net_device *dev)
goto out;
}
- kobject_unregister(&dev->kobj);
-
/* Last reference is our one */
if (atomic_read(&dev->refcnt) == 1)
goto out;
@@ -2740,6 +2738,7 @@ int unregister_netdevice(struct net_device *dev)
}
}
out:
+ kobject_unregister(&dev->kobj);
dev_put(dev);
return 0;
}