sfc: Fix the initial device operstate
authorBen Hutchings <bhutchings@solarflare.com>
Fri, 24 Aug 2012 17:04:38 +0000 (18:04 +0100)
committerBen Hutchings <bhutchings@solarflare.com>
Fri, 24 Aug 2012 19:10:24 +0000 (20:10 +0100)
Following commit 8f4cccb ('net: Set device operstate at registration
time') it is now correct and preferable to set the carrier off before
registering a device.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/ethernet/sfc/efx.c

index 92f0020..a606db4 100644 (file)
@@ -2120,6 +2120,9 @@ static int efx_register_netdev(struct efx_nic *efx)
                goto fail_locked;
        efx_update_name(efx);
 
+       /* Always start with carrier off; PHY events will detect the link */
+       netif_carrier_off(net_dev);
+
        rc = register_netdevice(net_dev);
        if (rc)
                goto fail_locked;
@@ -2130,9 +2133,6 @@ static int efx_register_netdev(struct efx_nic *efx)
                        efx_init_tx_queue_core_txq(tx_queue);
        }
 
-       /* Always start with carrier off; PHY events will detect the link */
-       netif_carrier_off(net_dev);
-
        rtnl_unlock();
 
        rc = device_create_file(&efx->pci_dev->dev, &dev_attr_phy_type);