diff options
author | Michael Chan <michael.chan@broadcom.com> | 2020-01-27 04:56:13 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-01-27 11:33:28 +0100 |
commit | 83d8f5e92d034a4c4a04d780107e73af31a38504 (patch) | |
tree | c7c4929c6abec8d5fdd877d77e862eea41783ef5 /drivers/net/ethernet/broadcom/bnxt/bnxt.c | |
parent | db038b1b277886e3a082175a6ef6c1d4da17715d (diff) | |
download | linux-83d8f5e92d034a4c4a04d780107e73af31a38504.tar.bz2 |
bnxt_en: Improve link up detection.
In bnxt_update_phy_setting(), ethtool_get_link_ksettings() and
bnxt_disable_an_for_lpbk(), we inconsistently use netif_carrier_ok()
to determine link. Instead, we should use bp->link_info.link_up
which has the true link state. The netif_carrier state may be off
during self-test and while the device is being reset and may not always
reflect the true link state.
By always using bp->link_info.link_up, the code is now more
consistent and more correct. Some unnecessary link toggles are
now prevented with this patch.
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/bnxt.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 198c69dceeef..4b6f746c4357 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -9064,7 +9064,7 @@ static int bnxt_update_phy_setting(struct bnxt *bp) /* The last close may have shutdown the link, so need to call * PHY_CFG to bring it back up. */ - if (!netif_carrier_ok(bp->dev)) + if (!bp->link_info.link_up) update_link = true; if (!bnxt_eee_config_ok(bp)) |