diff options
author | Heiner Kallweit <hkallweit1@gmail.com> | 2019-01-17 20:07:54 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-01-18 14:12:25 -0800 |
commit | 472115d9834cd3a194a14269f28d8b146ad26c11 (patch) | |
tree | 0f333172a53af89933dd2e2210d36f3b922a352f /drivers | |
parent | 340a6f3d2d52a1b72f3454818e53293807f8f127 (diff) |
net: phy: stop PHY if needed when entering phy_disconnect
Stop PHY if needed when entering phy_disconnect. This allows drivers
that don't need a separate call to phy_stop() to omit this call.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/phy/phy_device.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 3860dd85d097..616a5fe47f56 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -999,6 +999,9 @@ EXPORT_SYMBOL(phy_connect); */ void phy_disconnect(struct phy_device *phydev) { + if (phy_is_started(phydev)) + phy_stop(phydev); + if (phydev->irq > 0) phy_stop_interrupts(phydev); |