forked from Minki/linux
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: Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3de97f3c63
commit
3ce2a027ae
@ -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);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user