diff options
author | 2020-04-23 21:34:33 +0200 | |
---|---|---|
committer | 2020-04-24 16:47:51 -0700 | |
commit | d70c47c8dc6902db19555b7ff7e6eeb264d4ac06 (patch) | |
tree | d60aae00e30791e107c81e8089212005ab24658e | |
parent | net: phylink, dsa: eliminate phylink_fixed_state_cb() (diff) | |
download | linux-dev-d70c47c8dc6902db19555b7ff7e6eeb264d4ac06.tar.xz linux-dev-d70c47c8dc6902db19555b7ff7e6eeb264d4ac06.zip |
net: phy: make phy_suspend a no-op if PHY is suspended already
Gently handle the case that phy_suspend() is called whilst PHY is in
power-down.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/phy/phy_device.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index ac2784192472..206d98502b13 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -1524,6 +1524,9 @@ int phy_suspend(struct phy_device *phydev) struct phy_driver *phydrv = phydev->drv; int ret; + if (phydev->suspended) + return 0; + /* If the device has WOL enabled, we cannot suspend the PHY */ phy_ethtool_get_wol(phydev, &wol); if (wol.wolopts || (netdev && netdev->wol_enabled)) |