--- zzzz-none-000/linux-5.4.213/drivers/net/phy/phy.c 2022-09-15 10:04:56.000000000 +0000 +++ alder-5690pro-762/linux-5.4.213/drivers/net/phy/phy.c 2024-08-14 09:02:07.000000000 +0000 @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -898,6 +899,9 @@ mutex_lock(&phydev->lock); + if (phydev->sfp_bus) + sfp_upstream_stop(phydev->sfp_bus); + phydev->state = PHY_HALTED; mutex_unlock(&phydev->lock); @@ -960,6 +964,9 @@ old_state = phydev->state; + if (phydev->sfp_bus) + sfp_upstream_start(phydev->sfp_bus); + switch (phydev->state) { case PHY_DOWN: case PHY_READY: