diff options
author | Russell King (Oracle) <rmk+kernel@armlinux.org.uk> | 2021-09-07 13:56:46 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-09-07 16:04:59 +0300 |
commit | f97493657c6372eeefe70faadd214bf31488c44e (patch) | |
tree | 477b38213c685bd8a68eb75af5585244f32722f1 /include | |
parent | 0341d5e3d1ee2a36dd5a49b5bef2ce4ad1cfa6b4 (diff) | |
download | linux-f97493657c6372eeefe70faadd214bf31488c44e.tar.xz |
net: phylink: add suspend/resume support
Joakim Zhang reports that Wake-on-Lan with the stmmac ethernet driver broke
when moving the incorrect handling of mac link state out of mac_config().
This reason this breaks is because the stmmac's WoL is handled by the MAC
rather than the PHY, and phylink doesn't cater for that scenario.
This patch adds the necessary phylink code to handle suspend/resume events
according to whether the MAC still needs a valid link or not. This is the
barest minimum for this support.
Reported-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Tested-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/phylink.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/phylink.h b/include/linux/phylink.h index afb3ded0b691..237291196ce2 100644 --- a/include/linux/phylink.h +++ b/include/linux/phylink.h @@ -451,6 +451,9 @@ void phylink_mac_change(struct phylink *, bool up); void phylink_start(struct phylink *); void phylink_stop(struct phylink *); +void phylink_suspend(struct phylink *pl, bool mac_wol); +void phylink_resume(struct phylink *pl); + void phylink_ethtool_get_wol(struct phylink *, struct ethtool_wolinfo *); int phylink_ethtool_set_wol(struct phylink *, struct ethtool_wolinfo *); |