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