]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'net-phy-fix-WoL-handling-when-suspending-the-PHY'
authorDavid S. Miller <davem@davemloft.net>
Thu, 27 Sep 2018 03:04:11 +0000 (20:04 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Sep 2018 03:04:11 +0000 (20:04 -0700)
commit1ad22cc1d6a7ee8c46c0e6caab169e32e5c9ce40
treec36973bf5980fc937c213c93f6b773068ffbc21e
parent7d28d285367477fde909a60fcdc0414322ae7fa2
parentcc5a86241b3b61b6e147c69294ecc26fe6a8dcf4
Merge branch 'net-phy-fix-WoL-handling-when-suspending-the-PHY'

Heiner Kallweit says:

====================
net: phy: fix WoL handling when suspending the PHY

phy_suspend doesn't always recognize that WoL is enabled and therefore
suspends the PHY when it should not. First idea to address the issue
was to reuse checks used in mdio_bus_phy_may_suspend which check
whether relevant devices are wakeup-enabled.
Florian raised some concerns because drivers may enable wakeup even if
WoL isn't enabled (e.g. certain USB network drivers).

The new approach focuses on reducing the risk to break existing stuff.
We add a flag wol_enabled to struct net_device which is set in
ethtool_set_wol(). Then this flag is checked in phy_suspend().
This doesn't cover 100% of the cases yet (e.g. if WoL is enabled w/o
explicit configuration), but it covers the most relevant cases with
very little risk of regressions.

v2:
- Fix a typo
====================

Signed-off-by: David S. Miller <davem@davemloft.net>