From: Somnath Kotur Date: Mon, 25 Oct 2010 01:11:10 +0000 (+0000) Subject: be2net: Call netif_carier_off() after register_netdev() X-Git-Tag: firefly_0821_release~7613^2~3442^2~174 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=63a76944b674bb758232e4213da0da95ae055012;p=firefly-linux-kernel-4.4.55.git be2net: Call netif_carier_off() after register_netdev() Calling netif_carrier_off before register_netdev was causing the network interface to miss a linkwatch pending event leading to an inconsistent state if the link is not up when interface is initialized.This is now invoked after register_netdev. Signed-off-by: Somnath Kotur Signed-off-by: David S. Miller --- diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index 12486260c928..87673558cde5 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c @@ -2556,7 +2556,6 @@ static void be_netdev_init(struct net_device *netdev) netif_napi_add(netdev, &adapter->tx_eq.napi, be_poll_tx_mcc, BE_NAPI_WEIGHT); - netif_carrier_off(netdev); netif_stop_queue(netdev); } @@ -2865,6 +2864,7 @@ static int __devinit be_probe(struct pci_dev *pdev, status = register_netdev(netdev); if (status != 0) goto unsetup; + netif_carrier_off(netdev); dev_info(&pdev->dev, "%s port %d\n", nic_name(pdev), adapter->port_num); return 0;