]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
bnxt_en: Poll link at the end of __bnxt_open_nic().
authorMichael Chan <mchan@broadcom.com>
Sat, 20 Feb 2016 00:43:19 +0000 (19:43 -0500)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 7 Jul 2016 00:36:53 +0000 (17:36 -0700)
Orabug: 23221795

When shutting down the NIC, we shutdown async event processing before
freeing all the rings.  If there is a link change event during reset, the
driver may miss it and the link state may be incorrect after the NIC is
re-opened.  Poll the link at the end of __bnxt_open_nic() to get the
correct link status.

Signed-off-by Michael Chan <michael.chan@broadcom.com>

Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 035a1539ab63bfdb284bdf6e8459e35897c60564)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index 085fc7960f8ca15b8a973d814d0ff0bdd29f8ee8..781c6ead0221cc62f495f32799886d5262142a65 100644 (file)
@@ -4681,6 +4681,7 @@ static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
        /* Enable TX queues */
        bnxt_tx_enable(bp);
        mod_timer(&bp->timer, jiffies + bp->current_interval);
+       bnxt_update_link(bp, true);
 
        return 0;