History

net: phy: ax88772a: fix lost pause advertisement configuration

In case of asix_ax88772a_link_change_notify() workaround, we run soft reset which will automatically clear MII_ADVERTISE configuration. The PHYlib framework do not know about changed configuration state of the PHY, so we need use phy_init_hw() to reinit PHY configuration.

Oleksij Rempel committed 4 years ago

Commit fa152f61 parent 1758bde1 file · +4 −2Browse files

Unified · Split

drivers/net/phy/ax88796b.c+4−2
@@ -88,8 +88,10 @@ static void asix_ax88772a_link_change_notify(struct phy_device *phydev) · 87 unmodified lines
88 /* Reset PHY, otherwise MII_LPA will provide outdated information.88 /* Reset PHY, otherwise MII_LPA will provide outdated information.
89 * This issue is reproducible only with some link partner PHYs89 * This issue is reproducible only with some link partner PHYs
90 */90 */
91 if (phydev->state == PHY_NOLINK && phydev->drv->soft_reset)91 if (phydev->state == PHY_NOLINK) {
92 phydev->drv->soft_reset(phydev);92 phy_init_hw(phydev);
93 phy_start_aneg(phydev);
94 }
93}95}
94 96
95static struct phy_driver asix_driver[] = {97static struct phy_driver asix_driver[] = {