[PATCH] mdiobus: unbreak phy_device_connect() "scan all PHY addresses" feature

Andreas Pretzsch apr at cn-eng.de
Tue Nov 6 20:52:19 EST 2012


Calling phy_device_connect() with a PHY address of -1 will scan for a PHY
in the address range of 0..PHY_MAX_ADDR and registers the first one found.
This was broken by commit 09254f639c94cc7dc47fff7638dc8c7f88d700b1
"mdiobus: do not scan the bus at registration time", erroneously scanning
for -1 as PHY address.

Signed-off-by: Andreas Pretzsch <apr at cn-eng.de>
---
patch against branch "next" / commit 129300139cbe7265c4b8b4142740c59b5b997e4d

 drivers/net/phy/phy.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 8d36300..547e269 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -169,7 +169,7 @@ int phy_device_connect(struct eth_device *edev, struct mii_bus *bus, int addr,
 				goto fail;
 		} else {
 			for (i = 0; i < PHY_MAX_ADDR && !edev->phydev; i++) {
-				dev = mdiobus_scan(bus, addr);
+				dev = mdiobus_scan(bus, i);
 				if (!dev || dev->attached_dev)
 					continue;
 
-- 
1.7.10.4




More information about the barebox mailing list