Normally, phy_update_status is in charge of reporting a change in link status when phy is updated. When using fixed-link, speed and duplex are initialized directly after registering the phy and there is no driver. Hence when phy_update_status is called, the check for new values fails and returns directly. Since update_link call is mandatory for some network devices to work, call it directly when using fixed link in phy_device_attach to force update of link. Signed-off-by: Clement Leger <clement.leger@xxxxxxxxx> --- drivers/net/phy/phy.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 42dcad906..63f249fcf 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -398,6 +398,10 @@ static int phy_device_attach(struct phy_device *phy, struct eth_device *edev, phy->adjust_link = adjust_link; + /* If the phy is a fixed-link, then call adjust_link directly */ + if (!phy->bus && adjust_link) + adjust_link(edev); + return 0; } -- 2.15.0.276.g89ea799 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox