diff options
author | Andrew Lunn <andrew@lunn.ch> | 2018-02-27 01:56:06 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-03-19 08:42:44 +0100 |
commit | 6bccf8962b7874a2e66c2f78c9e48e0a7012c541 (patch) | |
tree | 68ec8c0db1875deea6b808b70f15e2176daadad7 /drivers/net/phy/phy.c | |
parent | 76fbc152cd8c95369b0527b5d5cb1e166033ab84 (diff) | |
download | linux-stable-6bccf8962b7874a2e66c2f78c9e48e0a7012c541.tar.gz linux-stable-6bccf8962b7874a2e66c2f78c9e48e0a7012c541.tar.bz2 linux-stable-6bccf8962b7874a2e66c2f78c9e48e0a7012c541.zip |
net: phy: Restore phy_resume() locking assumption
commit 9c2c2e62df3fa30fb13fbeb7512a4eede729383b upstream.
commit f5e64032a799 ("net: phy: fix resume handling") changes the
locking semantics for phy_resume() such that the caller now needs to
hold the phy mutex. Not all call sites were adopted to this new
semantic, resulting in warnings from the added
WARN_ON(!mutex_is_locked(&phydev->lock)). Rather than change the
semantics, add a __phy_resume() and restore the old behavior of
phy_resume().
Reported-by: Heiner Kallweit <hkallweit1@gmail.com>
Fixes: f5e64032a799 ("net: phy: fix resume handling")
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/net/phy/phy.c')
-rw-r--r-- | drivers/net/phy/phy.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 26ad88f09795..39de77a8bb63 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -841,7 +841,7 @@ void phy_start(struct phy_device *phydev) break; case PHY_HALTED: /* if phy was suspended, bring the physical link up again */ - phy_resume(phydev); + __phy_resume(phydev); /* make sure interrupts are re-enabled for the PHY */ if (phy_interrupt_is_valid(phydev)) { |