int rc;
 
        if (phydev->interrupts == PHY_INTERRUPT_ENABLED) {
+               rc = vsc85xx_ack_interrupt(phydev);
+               if (rc)
+                       return rc;
+
                vsc8584_config_macsec_intr(phydev);
                vsc8584_config_ts_intr(phydev);
 
                if (rc < 0)
                        return rc;
                rc = phy_read(phydev, MII_VSC85XX_INT_STATUS);
+               if (rc < 0)
+                       return rc;
+
+               rc = vsc85xx_ack_interrupt(phydev);
        }
 
        return rc;
        .aneg_done      = &genphy_aneg_done,
        .read_status    = &vsc85xx_read_status,
        .handle_interrupt = &vsc8584_handle_interrupt,
-       .ack_interrupt  = &vsc85xx_ack_interrupt,
        .config_intr    = &vsc85xx_config_intr,
        .suspend        = &genphy_suspend,
        .resume         = &genphy_resume,
        .aneg_done      = &genphy_aneg_done,
        .read_status    = &vsc85xx_read_status,
        .handle_interrupt = &vsc8584_handle_interrupt,
-       .ack_interrupt  = &vsc85xx_ack_interrupt,
        .config_intr    = &vsc85xx_config_intr,
        .suspend        = &genphy_suspend,
        .resume         = &genphy_resume,
        .aneg_done      = &genphy_aneg_done,
        .read_status    = &vsc85xx_read_status,
        .handle_interrupt = &vsc8584_handle_interrupt,
-       .ack_interrupt  = &vsc85xx_ack_interrupt,
        .config_intr    = &vsc85xx_config_intr,
        .suspend        = &genphy_suspend,
        .resume         = &genphy_resume,
        .aneg_done      = &genphy_aneg_done,
        .read_status    = &vsc85xx_read_status,
        .handle_interrupt = &vsc8584_handle_interrupt,
-       .ack_interrupt  = &vsc85xx_ack_interrupt,
        .config_intr    = &vsc85xx_config_intr,
        .suspend        = &genphy_suspend,
        .resume         = &genphy_resume,