From: Domen Puncer Date: Tue, 7 Aug 2007 10:12:41 +0000 (+0200) Subject: phy layer: fix phy_mii_ioctl for autonegotiation X-Git-Tag: v2.6.23-rc3~80 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=163642a24a44d7b1d1e1b3cb8da25a142a919e24;p=linux-2.6 phy layer: fix phy_mii_ioctl for autonegotiation Fix a thinko (?) in setting phydev->autoneg. Signed-off-by: Domen Puncer Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index f71dab3476..e323efd4ed 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -261,7 +261,7 @@ void phy_sanitize_settings(struct phy_device *phydev) /* Sanitize settings based on PHY capabilities */ if ((features & SUPPORTED_Autoneg) == 0) - phydev->autoneg = 0; + phydev->autoneg = AUTONEG_DISABLE; idx = phy_find_valid(phy_find_setting(phydev->speed, phydev->duplex), features); @@ -374,7 +374,7 @@ int phy_mii_ioctl(struct phy_device *phydev, if (mii_data->phy_id == phydev->addr) { switch(mii_data->reg_num) { case MII_BMCR: - if (val & (BMCR_RESET|BMCR_ANENABLE)) + if ((val & (BMCR_RESET|BMCR_ANENABLE)) == 0) phydev->autoneg = AUTONEG_DISABLE; else phydev->autoneg = AUTONEG_ENABLE;