[PATCH] mdiobus: unbreak phy_device_connect(): honor masked out PHYs

Andreas Pretzsch apr at cn-eng.de
Wed Nov 7 17:59:39 EST 2012


commit 89dfe2d2af87f1b803f611d986d4ef383b6ad964 "mdiobus: do not scan
the bus at registration time" dropped the check for struct mii_bus
element phy_mask while scanning through all addresses.
Re-add this check.

Signed-off-by: Andreas Pretzsch <apr at cn-eng.de>
---
patch against branch "next" / commit 89dfe2d2af87f1b803f611d986d4ef383b6ad964
Another one to fold into original patch. Sorry for missing it the first round.

 drivers/net/phy/phy.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 547e269..d8132b9 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -169,6 +169,10 @@ 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++) {
+				/* skip masked out PHY addresses */
+				if (bus->phy_mask & (1 << i))
+					continue;
+
 				dev = mdiobus_scan(bus, i);
 				if (!dev || dev->attached_dev)
 					continue;
-- 
1.7.10.4




More information about the barebox mailing list