On Fri, Sep 21, 2018 at 03:52:26PM +0200, Andrew Lunn wrote:
> The previous commit to ravb had the side effect of making the PHY
> advertise Pause and Asym Pause, which previously did not happen.  By
> default, phydev->supported has both forms of pause enabled, but
> phydev->advertising does not. The new phy_remove_link_mode() copies
> phydev->supported to phydev->advertising after removing the requested
> link mode. These Pause configuration bits appears it stops the PHY
> from completing Auto-Neg and the link remains down.  Be explicit and
> remove the Pause and Asym Pause modes, so restoring the old behavior.
> 
> Reported-by: Simon Horman <ho...@verge.net.au>
> Fixes: 41124fa64d4b ("net: ethernet: Add helper to remove a supported link 
> mode")
> Signed-off-by: Andrew Lunn <and...@lunn.ch>

Tested-by: Simon Horman <horms+rene...@verge.net.au>
Reviewed-by: Simon Horman <horms+rene...@verge.net.au>

> ---
> I reworded the commit message from what Simon tested.
> ---
>  drivers/net/ethernet/renesas/ravb_main.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/renesas/ravb_main.c 
> b/drivers/net/ethernet/renesas/ravb_main.c
> index fb2a1125780d..b0f2612ad226 100644
> --- a/drivers/net/ethernet/renesas/ravb_main.c
> +++ b/drivers/net/ethernet/renesas/ravb_main.c
> @@ -1073,9 +1073,11 @@ static int ravb_phy_init(struct net_device *ndev)
>               netdev_info(ndev, "limited PHY to 100Mbit/s\n");
>       }
>  
> -     /* 10BASE is not supported */
> +     /* 10BASE, Pause and Asym Pause is not supported */
>       phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_10baseT_Half_BIT);
>       phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_10baseT_Full_BIT);
> +     phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_Pause_BIT);
> +     phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_Asym_Pause_BIT);
>  
>       phy_attached_info(phydev);
>  
> -- 
> 2.19.0.rc1
> 

Reply via email to