--- zzzz-none-000/linux-4.4.271/drivers/net/phy/phy_device.c 2021-06-03 06:22:09.000000000 +0000 +++ dakota-7530ac-750/linux-4.4.271/drivers/net/phy/phy_device.c 2023-01-11 09:25:42.000000000 +0000 @@ -742,6 +742,9 @@ struct mii_bus *bus; int i; + if (phydev->drv && phydev->drv->detach) + phydev->drv->detach(phydev); + phydev->attached_dev->phydev = NULL; phydev->attached_dev = NULL; phy_suspend(phydev); @@ -1003,6 +1006,9 @@ { int status; + if (phydev->drv->update_link) + return phydev->drv->update_link(phydev); + /* Do a fake read */ status = phy_read(phydev, MII_BMSR); if (status < 0)