[PATCH v1 net-next] net: phy: mdio_bus: make mdiobus_scan also cover PHY that only talks C45

From: Voon Weifeng
Date: Mon Aug 26 2019 - 13:53:44 EST


From: Ong Boon Leong <boon.leong.ong@xxxxxxxxx>

Make mdiobus_scan() to try harder to look for any PHY that only talks C45.

Signed-off-by: Ong Boon Leong <boon.leong.ong@xxxxxxxxx>
Signed-off-by: Voon Weifeng <weifeng.voon@xxxxxxxxx>

diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index bd04fe762056..30dbc48b4c7e 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -525,8 +525,12 @@ struct phy_device *mdiobus_scan(struct mii_bus *bus, int addr)
int err;

phydev = get_phy_device(bus, addr, false);
- if (IS_ERR(phydev))
- return phydev;
+ if (IS_ERR(phydev)) {
+ /* Try C45 to ensure we don't miss PHY that only talks C45 */
+ phydev = get_phy_device(bus, addr, true);
+ if (IS_ERR(phydev))
+ return phydev;
+ }

/*
* For DT, see if the auto-probed phy has a correspoding child
--
1.9.1