2018-07-26 07:02:14

by tli012345

[permalink] [raw]
Subject: [PATCH] net: fix amd-xgbe flow-control issue

From: tangpengpeng <[email protected]>

If we enable or disable xgbe flow-control by ethtool ,
it does't work.Because the parameter is not properly
assigned,so we need to adjust the assignment order
of the parameters.

Signed-off-by: tangpengpeng <[email protected]>
---
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c b/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
index 4b5d625de8f0..8a3a60bb2688 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
@@ -1111,14 +1111,14 @@ static void xgbe_phy_adjust_link(struct xgbe_prv_data *pdata)

if (pdata->tx_pause != pdata->phy.tx_pause) {
new_state = 1;
- pdata->hw_if.config_tx_flow_control(pdata);
pdata->tx_pause = pdata->phy.tx_pause;
+ pdata->hw_if.config_tx_flow_control(pdata);
}

if (pdata->rx_pause != pdata->phy.rx_pause) {
new_state = 1;
- pdata->hw_if.config_rx_flow_control(pdata);
pdata->rx_pause = pdata->phy.rx_pause;
+ pdata->hw_if.config_rx_flow_control(pdata);
}

/* Speed support */
--
2.14.2




2018-07-26 13:15:06

by Tom Lendacky

[permalink] [raw]
Subject: Re: [PATCH] net: fix amd-xgbe flow-control issue

On 7/26/2018 1:45 AM, [email protected] wrote:
> From: tangpengpeng <[email protected]>
>
> If we enable or disable xgbe flow-control by ethtool ,
> it does't work.Because the parameter is not properly
> assigned,so we need to adjust the assignment order
> of the parameters.
>
> Signed-off-by: tangpengpeng <[email protected]>

You should add a Fixes tag as this bug was introduced with commit:

c1ce2f77366b ("amd-xgbe: Fix flow control setting logic")

And since that commit was introduced in 4.2, you'll want to ask David to
push this to stable (4.4 and higher).

With that,

Acked-by: Tom Lendacky <[email protected]>

> ---
> drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c b/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
> index 4b5d625de8f0..8a3a60bb2688 100644
> --- a/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
> +++ b/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
> @@ -1111,14 +1111,14 @@ static void xgbe_phy_adjust_link(struct xgbe_prv_data *pdata)
>
> if (pdata->tx_pause != pdata->phy.tx_pause) {
> new_state = 1;
> - pdata->hw_if.config_tx_flow_control(pdata);
> pdata->tx_pause = pdata->phy.tx_pause;
> + pdata->hw_if.config_tx_flow_control(pdata);
> }
>
> if (pdata->rx_pause != pdata->phy.rx_pause) {
> new_state = 1;
> - pdata->hw_if.config_rx_flow_control(pdata);
> pdata->rx_pause = pdata->phy.rx_pause;
> + pdata->hw_if.config_rx_flow_control(pdata);
> }
>
> /* Speed support */
>

2018-07-26 17:34:03

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: fix amd-xgbe flow-control issue

From: [email protected]
Date: Thu, 26 Jul 2018 14:45:16 +0800

> From: tangpengpeng <[email protected]>
>
> If we enable or disable xgbe flow-control by ethtool ,
> it does't work.Because the parameter is not properly
> assigned,so we need to adjust the assignment order
> of the parameters.
>
> Signed-off-by: tangpengpeng <[email protected]>

Applied with -fixes tag added and queued up for -stable.