On Fri, Mar 12, 2021 at 11:23:56AM +0100, Ahmad Fatoum wrote: > > > On 12.03.21 11:13, Sascha Hauer wrote: > > phydev->adjust_link() is called only from phy_update_status() when the > > link status changes during that function. phydev->link is also updated > > in genphy_update_link() called from phy_wait_aneg_done(), so it can > > happen that phydev->link changes outside of phy_update_status(), thus > > phydev->adjust_link is never called and no link change notice is > > printed. > > > > Instead of calling genphy_update_link() from phy_wait_aneg_done(), call > > phy_update_status(). This makes sure that a link change is properly > > noticed. > > > > Fixes: 8f75aa496dcb ("net: reply to ping requests") > > Isn't it? 8f75aa496dcb Isn't exactly broken, it just triggers a problem on this particular board. It might be confusing to add a fixes tag here. Sascha > > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > > --- > > drivers/net/phy/phy.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c > > index 622acbe40d..e8e8dad5bd 100644 > > --- a/drivers/net/phy/phy.c > > +++ b/drivers/net/phy/phy.c > > @@ -571,7 +571,7 @@ int phy_wait_aneg_done(struct phy_device *phydev) > > } > > > > do { > > - genphy_update_link(phydev); > > + phy_update_status(phydev); > > if (phydev->link == 1) > > return 0; > > } while (!is_timeout(start, PHY_AN_TIMEOUT * SECOND)); > > > > -- > Pengutronix e.K. | | > Steuerwalder Str. 21 | http://www.pengutronix.de/ | > 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox