]> git.baikalelectronics.ru Git - kernel.git/commitdiff
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 ba5ad86ec8261256af4523e6ddb1f00b98bc5cf1..4f9990b47a377de462454378ce3888f6274d1a79 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);
 }