net: phy: Do not shutdown PHYs in READY state
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 8 Oct 2021 21:42:52 +0000 (14:42 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 9 Oct 2021 12:47:37 +0000 (13:47 +0100)
In case a PHY device was probed thus in the PHY_READY state, but not
configured and with no network device attached yet, we should not be
trying to shut it down because it has been brought back into reset by
phy_device_reset() towards the end of phy_probe() and anyway we have not
configured the PHY yet.

Fixes: e2f016cf7751 ("net: phy: add a shutdown procedure")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy_device.c

index ba5ad86..4f9990b 100644 (file)
@@ -3125,6 +3125,9 @@ static void phy_shutdown(struct device *dev)
 {
        struct phy_device *phydev = to_phy_device(dev);
 
+       if (phydev->state == PHY_READY || !phydev->attached_dev)
+               return;
+
        phy_disable_interrupts(phydev);
 }