diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2017-11-30 13:59:26 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-12-01 15:18:42 -0500 |
commit | 2012b7d6b2868c532f22d9172c8b24611637eb48 (patch) | |
tree | 885078df4b8d83aa0d8eb6f32e0852c6bbe01a76 /drivers | |
parent | ec7681bde6d0e53ea5ef564477c8656fc318023a (diff) | |
download | linux-2012b7d6b2868c532f22d9172c8b24611637eb48.tar.bz2 |
phylink: ensure we take the link down when phylink_stop() is called
Ensure that we tell the MAC to take the link down when phylink_stop()
is called, and that this completes prior to phylink_stop() returns.
Reported-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/phy/phylink.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index e3bbc70372d3..5dc9668dde34 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -773,6 +773,7 @@ void phylink_stop(struct phylink *pl) sfp_upstream_stop(pl->sfp_bus); set_bit(PHYLINK_DISABLE_STOPPED, &pl->phylink_disable_state); + queue_work(system_power_efficient_wq, &pl->resolve); flush_work(&pl->resolve); } EXPORT_SYMBOL_GPL(phylink_stop); |