• Rongguang Wei's avatar
    net: stmmac: add to set device wake up flag when stmmac init phy · a9334b70
    Rongguang Wei authored
    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: 1d8e5b0f ("net: stmmac: Support WOL with phy")
    Signed-off-by: default avatarRongguang Wei <weirongguang@kylinos.cn>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a9334b70
stmmac_main.c 206 KB