bonding: initialize before registration
authorStephen Hemminger <shemminger@vyatta.com>
Fri, 12 Jun 2009 19:02:45 +0000 (19:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 14 Jun 2009 06:28:52 +0000 (23:28 -0700)
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>
drivers/net/bonding/bond_main.c

index a1fa8deb254e29ac330afdf5c4a9fb1b9c34138a..99ddd283e15ed22b56c0be83f3264d9d90c949d3 100644 (file)
@@ -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));