diff options
author | Baruch Siach <baruch@tkos.co.il> | 2020-04-21 12:04:46 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-04-23 22:31:41 +0300 |
commit | 829e7573c45a97e0f6a923a8e6e4589c26a26df2 (patch) | |
tree | 592076f138c52294d7cb589dd2cff152dad1fe9a | |
parent | 7c74b0bec918c1e0ca0b4208038c156eacf8f13f (diff) | |
download | linux-829e7573c45a97e0f6a923a8e6e4589c26a26df2.tar.xz |
net: phy: marvell10g: limit soft reset to 88x3310
The MV_V2_PORT_CTRL_SWRST bit in MV_V2_PORT_CTRL is reserved on 88E2110.
Setting SWRST on 88E2110 breaks packets transfer after interface down/up
cycle.
Fixes: 8f48c2ac85ed ("net: marvell10g: soft-reset the PHY when coming out of low power")
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/phy/marvell10g.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c index 95e3f4644aeb..ff12492771ab 100644 --- a/drivers/net/phy/marvell10g.c +++ b/drivers/net/phy/marvell10g.c @@ -246,7 +246,8 @@ 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); - if (priv->firmware_ver < 0x00030000) + if (phydev->drv->phy_id != MARVELL_PHY_ID_88X3310 || + priv->firmware_ver < 0x00030000) return ret; return phy_set_bits_mmd(phydev, MDIO_MMD_VEND2, MV_V2_PORT_CTRL, |