Skip to content

Commit a9334b7

Browse files
Rongguang Weidavem330
authored andcommitted
net: stmmac: add to set device wake up flag when stmmac init phy
When MAC is not support PMT, driver will check PHY's WoL capability and set device wakeup capability in stmmac_init_phy(). We can enable the WoL through ethtool, the driver would enable the device wake up flag. Now the device_may_wakeup() return true. But if there is a way which enable the PHY's WoL capability derectly, like in BIOS. The driver would not know the enable thing and would not set the device wake up flag. The phy_suspend may failed like this: [ 32.409063] PM: dpm_run_callback(): mdio_bus_phy_suspend+0x0/0x50 returns -16 [ 32.409065] PM: Device stmmac-1:00 failed to suspend: error -16 [ 32.409067] PM: Some devices failed to suspend, or early wake event detected Add to set the device wakeup enable flag according to the get_wol function result in PHY can fix the error in this scene. v2: add a Fixes tag. Fixes: 1d8e5b0 ("net: stmmac: Support WOL with phy") Signed-off-by: Rongguang Wei <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 5281252 commit a9334b7

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1170,6 +1170,7 @@ static int stmmac_init_phy(struct net_device *dev)
11701170

11711171
phylink_ethtool_get_wol(priv->phylink, &wol);
11721172
device_set_wakeup_capable(priv->device, !!wol.supported);
1173+
device_set_wakeup_enable(priv->device, !!wol.wolopts);
11731174
}
11741175

11751176
return ret;

0 commit comments

Comments
 (0)