|
@@ -4161,10 +4161,15 @@ static void rtl_wol_suspend_quirk(struct rtl8169_private *tp)
|
|
|
|
|
|
static bool rtl_wol_pll_power_down(struct rtl8169_private *tp)
|
|
|
{
|
|
|
- if (!netif_running(tp->dev) || !__rtl8169_get_wol(tp))
|
|
|
+ struct phy_device *phydev;
|
|
|
+
|
|
|
+ if (!__rtl8169_get_wol(tp))
|
|
|
return false;
|
|
|
|
|
|
- phy_speed_down(tp->dev->phydev, false);
|
|
|
+ /* phydev may not be attached to netdevice */
|
|
|
+ phydev = mdiobus_get_phy(tp->mii_bus, 0);
|
|
|
+
|
|
|
+ phy_speed_down(phydev, false);
|
|
|
rtl_wol_suspend_quirk(tp);
|
|
|
|
|
|
return true;
|