summaryrefslogtreecommitdiff
path: root/drivers/net/phy
diff options
context:
space:
mode:
authorEmanuele Ghidoli <emanuele.ghidoli@toradex.com>2023-08-30 13:47:00 +0200
committerEmanuele Ghidoli <emanuele.ghidoli@toradex.com>2023-08-30 13:47:00 +0200
commit28dd4112a5c42cc7644f919a00bfdeaf4648cc61 (patch)
treeba1cff3fb8606afe9f8d7343a2af424219f88dd7 /drivers/net/phy
parentbe011584a11552496d8896eb69fe68c38cc2c8c0 (diff)
parent38d4ca22a5288c4bae7e6d62a1728b0718d51866 (diff)
Merge tag 'v5.15.124' into 5.15-2.2.x-imx
This is the 5.15.124 stable release Conflicts: drivers/usb/dwc3/core.h Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Diffstat (limited to 'drivers/net/phy')
-rw-r--r--drivers/net/phy/marvell10g.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c
index df33637c5269..1caa6d943a7b 100644
--- a/drivers/net/phy/marvell10g.c
+++ b/drivers/net/phy/marvell10g.c
@@ -307,6 +307,13 @@ static int mv3310_power_up(struct phy_device *phydev)
ret = phy_clear_bits_mmd(phydev, MDIO_MMD_VEND2, MV_V2_PORT_CTRL,
MV_V2_PORT_CTRL_PWRDOWN);
+ /* Sometimes, the power down bit doesn't clear immediately, and
+ * a read of this register causes the bit not to clear. Delay
+ * 100us to allow the PHY to come out of power down mode before
+ * the next access.
+ */
+ udelay(100);
+
if (phydev->drv->phy_id != MARVELL_PHY_ID_88X3310 ||
priv->firmware_ver < 0x00030000)
return ret;