net: stmmac: Handle disabled MDIO busses from devicetree
[ Upstream commit e23c0d21ce9234fbc31ece35663ababbb83f9347 ]
Many hardware configurations have the MDIO bus disabled, and are instead
using some other MDIO bus to talk to the MAC's phy.
of_mdiobus_register() returns -ENODEV in this case. Let's handle it
gracefully instead of failing to probe the MAC.
Fixes: 47dd7a540b
("net: add support for STMicroelectronics Ethernet controllers.")
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Link: https://lore.kernel.org/r/20231212-b4-stmmac-handle-mdio-enodev-v2-1-600171acf79f@redhat.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
538b7b8f21
commit
23ee06762c
@ -358,7 +358,11 @@ int stmmac_mdio_register(struct net_device *ndev)
|
|||||||
new_bus->parent = priv->device;
|
new_bus->parent = priv->device;
|
||||||
|
|
||||||
err = of_mdiobus_register(new_bus, mdio_node);
|
err = of_mdiobus_register(new_bus, mdio_node);
|
||||||
if (err != 0) {
|
if (err == -ENODEV) {
|
||||||
|
err = 0;
|
||||||
|
dev_info(dev, "MDIO bus is disabled\n");
|
||||||
|
goto bus_register_fail;
|
||||||
|
} else if (err) {
|
||||||
dev_err_probe(dev, err, "Cannot register the MDIO bus\n");
|
dev_err_probe(dev, err, "Cannot register the MDIO bus\n");
|
||||||
goto bus_register_fail;
|
goto bus_register_fail;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user