net: phy: mscc: restore the base page in vsc8514/8584_config_init
[platform/kernel/linux-rpi.git] / drivers / net / phy / mscc / mscc_main.c
index 0368093..f625109 100644 (file)
@@ -1395,6 +1395,11 @@ static int vsc8584_config_init(struct phy_device *phydev)
        if (ret)
                goto err;
 
+       ret = phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS,
+                            MSCC_PHY_PAGE_STANDARD);
+       if (ret)
+               goto err;
+
        if (!phy_interface_is_rgmii(phydev)) {
                val = PROC_CMD_MCB_ACCESS_MAC_CONF | PROC_CMD_RST_CONF_PORT |
                        PROC_CMD_READ_MOD_WRITE_PORT;
@@ -1779,7 +1784,11 @@ static int vsc8514_config_init(struct phy_device *phydev)
        val &= ~MAC_CFG_MASK;
        val |= MAC_CFG_QSGMII;
        ret = phy_base_write(phydev, MSCC_PHY_MAC_CFG_FASTLINK, val);
+       if (ret)
+               goto err;
 
+       ret = phy_base_write(phydev, MSCC_EXT_PAGE_ACCESS,
+                            MSCC_PHY_PAGE_STANDARD);
        if (ret)
                goto err;