diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index 8041922a02dc6ff533536dd5c96a0df3cfdd0438..b7f300e40f2798c09bfa697d8edc860007fe4c17 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -482,7 +482,10 @@ static int m88e1145_config(struct phy_device *phydev)
 
 	genphy_config_aneg(phydev);
 
-	phy_reset(phydev);
+	/* soft reset */
+	reg = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR);
+	reg |= BMCR_RESET;
+	phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, reg);
 
 	return 0;
 }