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? > 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 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox