Le 06/25/15 09:51, Mugunthan V N a écrit : > When limiting phy link speed using "max-speed" to 100mbps or less on a > giga bit phy, phy never completes auto negotiation and phy state > machine is held in PHY_AN. Fixing this issue by comparing the giga > bit advertise though phydev->supported doesn't have it but phy has > BMSR_ESTATEN set. So that auto negotiation is restarted as old and > new advertise are different and link comes up fine. > > Signed-off-by: Mugunthan V N <mugunthan...@ti.com>
Reviewed-by: Florian Fainelli <f.faine...@gmail.com> > --- > drivers/net/phy/phy_device.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c > index bdfe51f..d551df6 100644 > --- a/drivers/net/phy/phy_device.c > +++ b/drivers/net/phy/phy_device.c > @@ -796,10 +796,11 @@ static int genphy_config_advert(struct phy_device > *phydev) > if (phydev->supported & (SUPPORTED_1000baseT_Half | > SUPPORTED_1000baseT_Full)) { > adv |= ethtool_adv_to_mii_ctrl1000_t(advertise); > - if (adv != oldadv) > - changed = 1; > } > > + if (adv != oldadv) > + changed = 1; > + > err = phy_write(phydev, MII_CTRL1000, adv); > if (err < 0) > return err; > -- Florian -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html