[PATCH net-next v3 05/11] net: phy: print an info if a broken C45 bus is found

From: Michael Walle
Date: Wed Jul 12 2023 - 11:08:35 EST


If there is an PHY which gets confused by C45 transactions on the MDIO
bus, print an info together with the PHY identifier of the offending
one.

Signed-off-by: Michael Walle <mwalle@xxxxxxxxxx>
---
v3:
- make it a dev_dbg()
- check is phydev is not null
---
drivers/net/phy/mdio_bus.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 29ad9302fe11..bdc178671234 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -617,10 +617,10 @@ static int mdiobus_scan_bus_c45(struct mii_bus *bus)
*/
void mdiobus_scan_for_broken_c45_access(struct mii_bus *bus)
{
+ struct phy_device *phydev;
int i;

for (i = 0; i < PHY_MAX_ADDR; i++) {
- struct phy_device *phydev;
u32 oui;

phydev = mdiobus_get_phy(bus, i);
@@ -633,6 +633,11 @@ void mdiobus_scan_for_broken_c45_access(struct mii_bus *bus)
break;
}
}
+
+ if (phydev && bus->prevent_c45_access)
+ dev_dbg(&bus->dev,
+ "Detected broken PHY (ID %08lx). Disabling C45 bus transactions.\n",
+ (unsigned long)phydev->phy_id);
}
EXPORT_SYMBOL_GPL(mdiobus_scan_for_broken_c45_access);


--
2.39.2