Commit 18a5b052 authored by Ingo van Lil's avatar Ingo van Lil Committed by David S. Miller

net: phy: fix wrong mask to phy_modify()

When forcing a specific link mode, the PHY driver must clear the
existing speed and duplex bits in BMCR while preserving some other
control bits. This logic was accidentally inverted with the introduction
of phy_modify().

Fixes: fea23fb5 ("net: phy: convert read-modify-write to phy_modify()")
Signed-off-by: default avatarIngo van Lil <inguin@gmx.de>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 808cf9e3
...@@ -1382,7 +1382,7 @@ int genphy_setup_forced(struct phy_device *phydev) ...@@ -1382,7 +1382,7 @@ int genphy_setup_forced(struct phy_device *phydev)
ctl |= BMCR_FULLDPLX; ctl |= BMCR_FULLDPLX;
return phy_modify(phydev, MII_BMCR, return phy_modify(phydev, MII_BMCR,
BMCR_LOOPBACK | BMCR_ISOLATE | BMCR_PDOWN, ctl); ~(BMCR_LOOPBACK | BMCR_ISOLATE | BMCR_PDOWN), ctl);
} }
EXPORT_SYMBOL(genphy_setup_forced); EXPORT_SYMBOL(genphy_setup_forced);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment