Message ID | 1455605647-3849-1-git-send-email-thomas@wytron.com.tw |
---|---|
State | Superseded |
Delegated to: | Joe Hershberger |
Headers | show |
Hi Thomas, On 16.02.2016 07:54, Thomas Chou wrote: > After commit a058052c358c > ("net: phy: do not read configuration register on reset") > > both 3c120 and 10m50 devboard which use Marvel m88e1111s PHY got this > error message, > > Net: eth0: ethernet@400 > => ping 192.168.1.5 > ethernet@400 Waiting for PHY auto negotiation to complete.... TIMEOUT ! > Using ethernet@400 device > host 192.168.1.5 is alive > > This is because the auto negotiation control bit was cleared by the new > phy_reset(). But the m88e1111s_config() does the soft-reset already, > there is no need to reset twice. The extra phy_reset() should be > removed. > > Signed-off-by: Thomas Chou <thomas@wytron.com.tw> > --- > drivers/net/phy/marvell.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c > index eab1558..5badfac 100644 > --- a/drivers/net/phy/marvell.c > +++ b/drivers/net/phy/marvell.c > @@ -271,8 +271,6 @@ static int m88e1111s_config(struct phy_device *phydev) > > genphy_config_aneg(phydev); > > - phy_reset(phydev); > - > return 0; > } > > I've also stumbled over this problem on some boards equipped with the Marvell PHY. Could you please take a look at these patches instead: http://patchwork.ozlabs.org/patch/581316/ http://patchwork.ozlabs.org/patch/581317/ Do they work for you? Joe, could you please make sure to push these for this release? As its a real bugfix. Thanks, Stefan
> On 16.02.2016 07:54, Thomas Chou wrote: > > After commit a058052c358c > > ("net: phy: do not read configuration register on reset") > > > > both 3c120 and 10m50 devboard which use Marvel m88e1111s PHY got this > > error message, > > > > Net: eth0: ethernet@400 > > => ping 192.168.1.5 > > ethernet@400 Waiting for PHY auto negotiation to complete.... TIMEOUT ! > > Using ethernet@400 device > > host 192.168.1.5 is alive > > > > This is because the auto negotiation control bit was cleared by the > > new phy_reset(). But the m88e1111s_config() does the soft-reset > > already, there is no need to reset twice. The extra phy_reset() should > > be removed. > > > > Signed-off-by: Thomas Chou <thomas@wytron.com.tw> > > --- > > drivers/net/phy/marvell.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c > > index eab1558..5badfac 100644 > > --- a/drivers/net/phy/marvell.c > > +++ b/drivers/net/phy/marvell.c > > @@ -271,8 +271,6 @@ static int m88e1111s_config(struct phy_device > > *phydev) > > > > genphy_config_aneg(phydev); > > > > - phy_reset(phydev); > > - > > return 0; > > } > > > > > > I've also stumbled over this problem on some boards equipped with the > Marvell PHY. Could you please take a look at these patches instead: > > http://patchwork.ozlabs.org/patch/581316/ > http://patchwork.ozlabs.org/patch/581317/ > > Do they work for you? > > Joe, could you please make sure to push these for this release? As its a > real bugfix. > > [Alison Wang] After commit a058052c358c ("net: phy: do not read configuration register on reset") I find auto negotiation timeout error also occurs on Atheros's PHY AR8033 too. :( Best Regards, Alison Wang
Hi Stefan, On 2016年02月18日 15:47, Stefan Roese wrote: > I've also stumbled over this problem on some boards equipped with the > Marvell PHY. Could you please take a look at these patches instead: > > http://patchwork.ozlabs.org/patch/581316/ > http://patchwork.ozlabs.org/patch/581317/ > > Do they work for you? Yes, they work great. Thanks a lot. I should have found your patches earlier. :) Best regards, Thomas
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index eab1558..5badfac 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -271,8 +271,6 @@ static int m88e1111s_config(struct phy_device *phydev) genphy_config_aneg(phydev); - phy_reset(phydev); - return 0; }
After commit a058052c358c ("net: phy: do not read configuration register on reset") both 3c120 and 10m50 devboard which use Marvel m88e1111s PHY got this error message, Net: eth0: ethernet@400 => ping 192.168.1.5 ethernet@400 Waiting for PHY auto negotiation to complete.... TIMEOUT ! Using ethernet@400 device host 192.168.1.5 is alive This is because the auto negotiation control bit was cleared by the new phy_reset(). But the m88e1111s_config() does the soft-reset already, there is no need to reset twice. The extra phy_reset() should be removed. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> --- drivers/net/phy/marvell.c | 2 -- 1 file changed, 2 deletions(-)