|
@@ -624,6 +624,8 @@ static int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
|
|
if (err)
|
|
if (err)
|
|
phy_detach(phydev);
|
|
phy_detach(phydev);
|
|
|
|
|
|
|
|
+ phy_resume(phydev);
|
|
|
|
+
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -669,6 +671,7 @@ void phy_detach(struct phy_device *phydev)
|
|
{
|
|
{
|
|
phydev->attached_dev->phydev = NULL;
|
|
phydev->attached_dev->phydev = NULL;
|
|
phydev->attached_dev = NULL;
|
|
phydev->attached_dev = NULL;
|
|
|
|
+ phy_suspend(phydev);
|
|
|
|
|
|
/* If the device had no specific driver before (i.e. - it
|
|
/* If the device had no specific driver before (i.e. - it
|
|
* was using the generic driver), we unbind the device
|
|
* was using the generic driver), we unbind the device
|