Skip to content
  • Heiner Kallweit's avatar
    r8169: disable WOL per default · 7edf6d31
    Heiner Kallweit authored
    Currently, if BIOS enables WOL in the chip, settings are inconsistent
    because the device isn't marked as wakeup-enabled (if not done
    explicitly via userspace tools). This causes issues with suspend/
    resume because mdio_bus_phy_may_suspend() checks whether device is
    wakeup-enabled. In detail MDIO bus access in phy_suspend() can fail
    because the MDIO bus is disabled.
    
    In the history of the driver we find two competing approaches:
    8f9d5138 "r8169: remember WOL preferences on driver load" prefers
    to preserve what the BIOS may have set, whilst bde135a6
    
    
    "r8169: only enable PCI wakeups when WOL is active" disabled PCI
    wakeup per default to work around a bug on one platform.
    
    Seems like nobody complained after the latter patch about non-working
    WOL, what makes me think that nobody uses WOL w/o configuring it
    explicitly.
    
    My opinion:
    Vast majority of users doesn't use WOL even if the BIOS enables it in
    the chip. And having WOL being active keeps the PHY(s) from powering
    down if being idle.
    If somebody needs WOL, he can enable it during boot, e.g. by
    configuring systemd.link/WakeOnLan.
    
    Therefore, to make WOL consistent again, disable it per default.
    
    Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7edf6d31