summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2003-05-29 06:02:49 -0700
committerDavid S. Miller <davem@nuts.ninka.net>2003-05-29 06:02:49 -0700
commit51d9af05725442c96d6b86fd39c6a6716a39f637 (patch)
tree1ea015b6a64b42b647fc510b163a808310645551 /net
parent05d018c2e93e1c438c69a550591c9e0ad2acabf9 (diff)
[BRIDGE]: Make delete bridge work with current unregister semantics.
Diffstat (limited to 'net')
-rw-r--r--net/bridge/br_if.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
index 99b1944c9f3a..2062884bd2c2 100644
--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -170,11 +170,12 @@ int br_del_bridge(const char *name)
struct net_device *dev;
int ret = 0;
- dev = dev_get_by_name(name);
+ rtnl_lock();
+ dev = __dev_get_by_name(name);
if (dev == NULL)
- return -ENXIO; /* Could not find device */
+ ret = -ENXIO; /* Could not find device */
- if (!(dev->priv_flags & IFF_EBRIDGE)) {
+ else if (!(dev->priv_flags & IFF_EBRIDGE)) {
/* Attempt to delete non bridge device! */
ret = -EPERM;
}
@@ -186,11 +187,10 @@ int br_del_bridge(const char *name)
else {
del_ifs((struct net_bridge *) dev->priv);
-
- unregister_netdev(dev);
+ unregister_netdevice(dev);
}
- dev_put(dev);
+ rtnl_unlock();
return ret;
}