From: Michael Chan Date: Wed, 8 Mar 2017 23:44:35 +0000 (-0500) Subject: bnxt_en: Ignore 0 value in autoneg supported speed from firmware. X-Git-Tag: v4.1.12-106.0.20170710_2300~51 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=08372d6164c0dee608c899c065ae068f902511fe;p=users%2Fjedix%2Flinux-maple.git bnxt_en: Ignore 0 value in autoneg supported speed from firmware. Orabug: 26402533, 26325599, 26366387 In some situations, the firmware will return 0 for autoneg supported speed. This may happen if the firmware detects no SFP module, for example. The driver should ignore this so that we don't end up with an invalid autoneg setting with nothing advertised. When SFP module is inserted, we'll get the updated settings from firmware at that time. Signed-off-by: Michael Chan Signed-off-by: David S. Miller (cherry picked from commit 520ad89a54edea84496695d528f73ddcf4a52ea4) Signed-off-by: Brian Maly Signed-off-by: Somasundaram Krishnasamy --- diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 9b03abc4c6b6..483f2739fde6 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -5541,8 +5541,9 @@ static int bnxt_hwrm_phy_qcaps(struct bnxt *bp) bp->lpi_tmr_hi = le32_to_cpu(resp->valid_tx_lpi_timer_high) & PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_MASK; } - link_info->support_auto_speeds = - le16_to_cpu(resp->supported_speeds_auto_mode); + if (resp->supported_speeds_auto_mode) + link_info->support_auto_speeds = + le16_to_cpu(resp->supported_speeds_auto_mode); hwrm_phy_qcaps_exit: mutex_unlock(&bp->hwrm_cmd_lock);