aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge/br_if.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-05-15 03:34:44 -0400
committerDavid S. Miller <davem@davemloft.net>2008-05-15 03:34:44 -0400
commit63fe46da9c380b3f2bbdf3765044649517cc717c (patch)
tree9478c1aca1d692b408955aea20c9cd9a37e589c0 /net/bridge/br_if.c
parent99dd1a2b8347ac2ae802300b7862f6f7bcf17139 (diff)
parent066b2118976e6e7cc50eed39e2747c75343a23c4 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/wireless/iwlwifi/iwl-4965-rs.c drivers/net/wireless/rt2x00/rt61pci.c
Diffstat (limited to 'net/bridge/br_if.c')
-rw-r--r--net/bridge/br_if.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
index 77a981a1ee52..c2397f503b0f 100644
--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -273,15 +273,13 @@ int br_add_bridge(const char *name)
273 rtnl_lock(); 273 rtnl_lock();
274 if (strchr(dev->name, '%')) { 274 if (strchr(dev->name, '%')) {
275 ret = dev_alloc_name(dev, dev->name); 275 ret = dev_alloc_name(dev, dev->name);
276 if (ret < 0) { 276 if (ret < 0)
277 free_netdev(dev); 277 goto out_free;
278 goto out;
279 }
280 } 278 }
281 279
282 ret = register_netdevice(dev); 280 ret = register_netdevice(dev);
283 if (ret) 281 if (ret)
284 goto out; 282 goto out_free;
285 283
286 ret = br_sysfs_addbr(dev); 284 ret = br_sysfs_addbr(dev);
287 if (ret) 285 if (ret)
@@ -289,6 +287,10 @@ int br_add_bridge(const char *name)
289 out: 287 out:
290 rtnl_unlock(); 288 rtnl_unlock();
291 return ret; 289 return ret;
290
291out_free:
292 free_netdev(dev);
293 goto out;
292} 294}
293 295
294int br_del_bridge(const char *name) 296int br_del_bridge(const char *name)