aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/phy_device.c
diff options
context:
space:
mode:
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>2013-12-13 04:20:28 -0500
committerDavid S. Miller <davem@davemloft.net>2013-12-17 14:42:44 -0500
commit1211ce53077164e0d34641d0ca5fb4d4a7574498 (patch)
tree0f6f5ff07a99487429ab320a9e21d2743bd9c2b7 /drivers/net/phy/phy_device.c
parent481b5d938b4a60f052d7e15965a8417125e0d39f (diff)
net: phy: resume/suspend PHYs on attach/detach
This ensures PHYs are resumed on attach and suspended on detach. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/phy_device.c')
-rw-r--r--drivers/net/phy/phy_device.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 91f17178f1b3..4eb5bba1db5e 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -624,6 +624,8 @@ static int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
624 if (err) 624 if (err)
625 phy_detach(phydev); 625 phy_detach(phydev);
626 626
627 phy_resume(phydev);
628
627 return err; 629 return err;
628} 630}
629 631
@@ -669,6 +671,7 @@ void phy_detach(struct phy_device *phydev)
669{ 671{
670 phydev->attached_dev->phydev = NULL; 672 phydev->attached_dev->phydev = NULL;
671 phydev->attached_dev = NULL; 673 phydev->attached_dev = NULL;
674 phy_suspend(phydev);
672 675
673 /* If the device had no specific driver before (i.e. - it 676 /* If the device had no specific driver before (i.e. - it
674 * was using the generic driver), we unbind the device 677 * was using the generic driver), we unbind the device