diff options
author | Heiner Kallweit | 2020-04-23 21:34:33 +0200 |
---|---|---|
committer | David S. Miller | 2020-04-24 16:47:51 -0700 |
commit | d70c47c8dc6902db19555b7ff7e6eeb264d4ac06 (patch) | |
tree | d60aae00e30791e107c81e8089212005ab24658e /drivers/net/phy/phy_device.c | |
parent | 5c05c1dbb177293636a3f5ea4caa872dfcf50ccd (diff) |
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>
Diffstat (limited to 'drivers/net/phy/phy_device.c')
-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)) |