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 >