bonding: initialize before registration
Stephen Hemminger [Fri, 12 Jun 2009 19:02:45 +0000 (19:02 +0000)]
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 a1fa8de..99ddd28 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));