Re: [net-next PATCH 2/2] net: macb: Use mdio child node for MDIO bus if it exists
From: Guenter Roeck <linux@roeck-us.net>
Date: 2021-10-26 16:49:52
Also in:
lkml
Hi, while bisecting I noticed the following. On Fri, Oct 22, 2021 at 12:35:48PM -0400, Sean Anderson wrote:
quoted hunk ↗ jump to hunk
This allows explicitly specifying which children are present on the mdio bus. Additionally, it allows for non-phy MDIO devices on the bus. Signed-off-by: Sean Anderson <redacted> --- drivers/net/ethernet/cadence/macb_main.c | 11 +++++++++++ 1 file changed, 11 insertions(+)diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 029dea2873e3..30a65cac9e87 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c@@ -898,6 +898,17 @@ static int macb_mdiobus_register(struct macb *bp) { struct device_node *child, *np = bp->pdev->dev.of_node; + /* If we have a child named mdio, probe it instead of looking for PHYs + * directly under the MAC node + */ + child = of_get_child_by_name(np, "mdio"); + if (np) {
s/np/child/ to avoid network interface failures with messages like [ 12.764530] macb 10090000.ethernet eth0: Could not attach PHY (-19) I'll send a patch in a minute to fix this up, after bisect is complete and after testing, to make sure that there is no additional problem. Guenter
+ int ret = of_mdiobus_register(bp->mii_bus, child); + + of_node_put(child); + return ret; + } + if (of_phy_is_fixed_link(np)) return mdiobus_register(bp->mii_bus); -- 2.25.1