diff options
Diffstat (limited to 'drivers/net/phy/phy_device.c')
| -rw-r--r-- | drivers/net/phy/phy_device.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index c8b0c34030d3..28e3c5c0e3c3 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -286,6 +286,8 @@ static int mdio_bus_phy_suspend(struct device *dev)  	if (!mdio_bus_phy_may_suspend(phydev))  		return 0; +	phydev->suspended_by_mdio_bus = 1; +  	return phy_suspend(phydev);  } @@ -294,9 +296,11 @@ static int mdio_bus_phy_resume(struct device *dev)  	struct phy_device *phydev = to_phy_device(dev);  	int ret; -	if (!mdio_bus_phy_may_suspend(phydev)) +	if (!phydev->suspended_by_mdio_bus)  		goto no_resume; +	phydev->suspended_by_mdio_bus = 0; +  	ret = phy_resume(phydev);  	if (ret < 0)  		return ret; | 
