From: Michael Chan Date: Mon, 28 Mar 2016 23:46:07 +0000 (-0400) Subject: bnxt_en: Fix ethtool -a reporting. X-Git-Tag: v4.1.12-92~126^2~46 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=be10d20371268a2f366f41341029e6171cb512ca;p=users%2Fjedix%2Flinux-maple.git bnxt_en: Fix ethtool -a reporting. Orabug: 23221795 To report flow control tx/rx settings accurately regardless of autoneg setting, we should use link_info->req_flow_ctrl. Before this patch, the reported settings were only correct when autoneg was on. Signed-off-by: Michael Chan Signed-off-by: David S. Miller (cherry picked from commit 3c02d1bb32347d0674714ee170772d771d513469) Signed-off-by: Brian Maly --- diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index 1fc6798df7784..9c31f856f0395 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -882,10 +882,8 @@ static void bnxt_get_pauseparam(struct net_device *dev, if (BNXT_VF(bp)) return; epause->autoneg = !!(link_info->autoneg & BNXT_AUTONEG_FLOW_CTRL); - epause->rx_pause = - ((link_info->auto_pause_setting & BNXT_LINK_PAUSE_RX) != 0); - epause->tx_pause = - ((link_info->auto_pause_setting & BNXT_LINK_PAUSE_TX) != 0); + epause->rx_pause = !!(link_info->req_flow_ctrl & BNXT_LINK_PAUSE_RX); + epause->tx_pause = !!(link_info->req_flow_ctrl & BNXT_LINK_PAUSE_TX); } static int bnxt_set_pauseparam(struct net_device *dev,