Commit 3ce2a027 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by David S. Miller

net: phy: marvell10g: check for newly set aneg

Even if the advertisement registers content didn't change, we may have
just switched to aneg, and therefore have to trigger an aneg restart.
This matches the behavior of genphy_config_aneg().
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3de97f3c
...@@ -296,6 +296,16 @@ static int mv3310_config_aneg(struct phy_device *phydev) ...@@ -296,6 +296,16 @@ static int mv3310_config_aneg(struct phy_device *phydev)
if (ret > 0) if (ret > 0)
changed = true; changed = true;
if (!changed) {
/* Configure and restart aneg if it wasn't set before */
ret = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_CTRL1);
if (ret < 0)
return ret;
if (!(ret & MDIO_AN_CTRL1_ENABLE))
changed = 1;
}
if (changed) if (changed)
ret = genphy_c45_restart_aneg(phydev); ret = genphy_c45_restart_aneg(phydev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment