Loading drivers/net/phy/phy_device.c +6 −21 Original line number Diff line number Diff line Loading @@ -1578,31 +1578,16 @@ static int genphy_config_advert(struct phy_device *phydev) */ static int genphy_config_eee_advert(struct phy_device *phydev) { int broken = phydev->eee_broken_modes; int old_adv, adv; int err; /* Nothing to disable */ if (!broken) if (!phydev->eee_broken_modes) return 0; /* If the following call fails, we assume that EEE is not * supported by the phy. If we read 0, EEE is not advertised * In both case, we don't need to continue */ adv = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV); if (adv <= 0) return 0; old_adv = adv; adv &= ~broken; /* Advertising remains unchanged with the broken mask */ if (old_adv == adv) return 0; phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, adv); return 1; err = phy_modify_mmd_changed(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, phydev->eee_broken_modes, 0); /* If the call failed, we assume that EEE is not supported */ return err < 0 ? 0 : err; } /** Loading Loading
drivers/net/phy/phy_device.c +6 −21 Original line number Diff line number Diff line Loading @@ -1578,31 +1578,16 @@ static int genphy_config_advert(struct phy_device *phydev) */ static int genphy_config_eee_advert(struct phy_device *phydev) { int broken = phydev->eee_broken_modes; int old_adv, adv; int err; /* Nothing to disable */ if (!broken) if (!phydev->eee_broken_modes) return 0; /* If the following call fails, we assume that EEE is not * supported by the phy. If we read 0, EEE is not advertised * In both case, we don't need to continue */ adv = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV); if (adv <= 0) return 0; old_adv = adv; adv &= ~broken; /* Advertising remains unchanged with the broken mask */ if (old_adv == adv) return 0; phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, adv); return 1; err = phy_modify_mmd_changed(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, phydev->eee_broken_modes, 0); /* If the call failed, we assume that EEE is not supported */ return err < 0 ? 0 : err; } /** Loading