提交 a2f27217 编写于 作者: M Manuel Lauss 提交者: David S. Miller

net: au1000_eth: fix PHY detection

Commit 7f854420
("phy: Add API for {un}registering an mdio device to a bus.")
broke PHY detection on this driver with a copy-paste bug:
The code is looking 32 times for a PHY at address 0.

Fixes ethernet on AMD DB1100/DB1500/DB1550 boards which have
their (autodetected) PHYs at address 31.

Cc: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: NManuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 a4b42ab3
......@@ -508,13 +508,12 @@ static int au1000_mii_probe(struct net_device *dev)
/* find the first (lowest address) PHY
* on the current MAC's MII bus
*/
for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++)
if (mdiobus_get_phy(aup->mii_bus, aup->phy_addr)) {
phydev = mdiobus_get_phy(aup->mii_bus, aup->phy_addr);
if (!aup->phy_search_highest_addr)
/* break out with first one found */
break;
}
for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) {
phydev = mdiobus_get_phy(aup->mii_bus, phy_addr);
if (phydev && !aup->phy_search_highest_addr)
/* break out with first one found */
break;
}
if (aup->phy1_search_mac0) {
/* try harder to find a PHY */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册