summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2009-06-12 19:02:45 +0000
committerDavid S. Miller <davem@davemloft.net>2009-06-13 23:28:52 -0700
commitd93216051ae60995736518ca9ebb58a0e6ade212 (patch)
tree0f2e6c6d4abef68b54fb58a6397376871a277f91 /drivers/net
parentd2991f75354941a4cdf61ce7443d21804b978f89 (diff)
downloadlinux-exynos-d93216051ae60995736518ca9ebb58a0e6ade212.tar.gz
linux-exynos-d93216051ae60995736518ca9ebb58a0e6ade212.tar.bz2
linux-exynos-d93216051ae60995736518ca9ebb58a0e6ade212.zip
bonding: initialize before registration
Avoid a unnecessary carrier state transistion that happens when device is registered. Lockdep works better if initialization is done before registration as well. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/bonding/bond_main.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index a1fa8deb254e..99ddd283e15e 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -5164,15 +5164,15 @@ int bond_create(const char *name)
goto out_netdev;
}
+ bond_set_lockdep_class(bond_dev);
+
+ netif_carrier_off(bond_dev);
+
res = register_netdevice(bond_dev);
if (res < 0) {
goto out_bond;
}
- bond_set_lockdep_class(bond_dev);
-
- netif_carrier_off(bond_dev);
-
up_write(&bonding_rwsem);
rtnl_unlock(); /* allows sysfs registration of net device */
res = bond_create_sysfs_entry(netdev_priv(bond_dev));