From: Stefan Roese Date: Mon, 30 Sep 2019 08:26:42 +0000 (+0200) Subject: net: phy: Increase link up delay in genphy_update_link() X-Git-Tag: v2020.01-rc5~8^2~37 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=27c3f70f3b50;p=oweals%2Fu-boot.git net: phy: Increase link up delay in genphy_update_link() I've noticed that in most cases when genphy_update_link() is called, the ethernet driver (mt7628-eth in this case) fails with the first ethernet packets. Resulting in a timeout of the first tftp command. Increasing the delay in the link check look from 1 to 50 ms and moving it below the BMSR register read fixes this issue, resulting in a stable ethernet traffic, even after initial link autonogotiation. Signed-off-by: Stefan Roese Cc: Weijie Gao Cc: Joe Hershberger Acked-by: Joe Hershberger --- diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 6be0709e34..80a7664e49 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -256,11 +256,11 @@ int genphy_update_link(struct phy_device *phydev) return -EINTR; } - if ((i++ % 500) == 0) + if ((i++ % 10) == 0) printf("."); - udelay(1000); /* 1 ms */ mii_reg = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMSR); + mdelay(50); /* 50 ms */ } printf(" done\n"); phydev->link = 1;