{ 0x1f, 0x0002 }
 };
 
-static void rtl8168d_apply_firmware_cond(struct rtl8169_private *tp, u16 val)
+static void rtl8168d_apply_firmware_cond(struct rtl8169_private *tp,
+                                        struct phy_device *phydev,
+                                        u16 val)
 {
-       struct phy_device *phydev = tp->phydev;
        u16 reg_val;
 
        phy_write(phydev, 0x1f, 0x0005);
        phy_clear_bits(phydev, 0x03, 0xe000);
        phy_write(phydev, 0x1f, 0x0000);
 
-       rtl8168d_apply_firmware_cond(tp, 0xbf00);
+       rtl8168d_apply_firmware_cond(tp, phydev, 0xbf00);
 }
 
 static void rtl8168d_2_hw_phy_config(struct rtl8169_private *tp,
        /* Switching regulator Slew rate */
        phy_modify_paged(phydev, 0x0002, 0x0f, 0x0000, 0x0017);
 
-       rtl8168d_apply_firmware_cond(tp, 0xb300);
+       rtl8168d_apply_firmware_cond(tp, phydev, 0xb300);
 }
 
 static void rtl8168d_3_hw_phy_config(struct rtl8169_private *tp,