From: Ben Hutchings Date: Fri, 24 Aug 2012 17:04:38 +0000 (+0100) Subject: sfc: Fix the initial device operstate X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=8f8b3d518999fd1c342310910aa1e49112c86d05;p=~shefty%2Frdma-dev.git sfc: Fix the initial device operstate 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 --- diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c index 92f00202948..a606db43c5b 100644 --- a/drivers/net/ethernet/sfc/efx.c +++ b/drivers/net/ethernet/sfc/efx.c @@ -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);