diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 20d1be2b070b20dfeae58d429cbe87ceb19c49ac..2c32c795f5dd03bd84214ce4c15ef61be835c581 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -164,11 +164,8 @@ static int mdio_bus_phy_restore(struct device *dev) if (ret < 0) return ret; - /* The PHY needs to renegotiate. */ - phydev->link = 0; - phydev->state = PHY_UP; - - phy_start_machine(phydev); + if (phydev->attached_dev && phydev->adjust_link) + phy_start_machine(phydev); return 0; }