[PATCH v1] net: dsa: wait until PHY aneg is done

Oleksij Rempel o.rempel at pengutronix.de
Wed Apr 27 00:33:40 PDT 2022


Some PHYs need a bit longer to complete auto negotiation. So, wait long
enough until this process is done.

Signed-off-by: Oleksij Rempel <o.rempel at pengutronix.de>
---
 drivers/net/dsa.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/dsa.c b/drivers/net/dsa.c
index f2420d306f..d9e629cefc 100644
--- a/drivers/net/dsa.c
+++ b/drivers/net/dsa.c
@@ -111,6 +111,10 @@ static int dsa_port_start(struct eth_device *edev)
 
 	dsa_port_set_ethaddr(edev);
 
+	ret = phy_wait_aneg_done(dp->edev.phydev);
+	if (ret)
+		return ret;
+
 	if (ops->port_enable) {
 		ret = ops->port_enable(dp, dp->index, dp->edev.phydev);
 		if (ret)
-- 
2.30.2




More information about the barebox mailing list