diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index fbf5945ce00d9f262204de154116318481f091eb..2032a6de026bfd26c6ded8a20a83ca034473e640 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -624,6 +624,7 @@ static int ksz9031_read_status(struct phy_device *phydev)
 		phydev->link = 0;
 		if (phydev->drv->config_intr && phy_interrupt_is_valid(phydev))
 			phydev->drv->config_intr(phydev);
+		return genphy_config_aneg(phydev);
 	}
 
 	return 0;