|
@@ -231,7 +231,12 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
|
|
|
rc = of_mdiobus_register_phy(mdio, child, addr);
|
|
|
else
|
|
|
rc = of_mdiobus_register_device(mdio, child, addr);
|
|
|
- if (rc)
|
|
|
+
|
|
|
+ if (rc == -ENODEV)
|
|
|
+ dev_err(&mdio->dev,
|
|
|
+ "MDIO device at address %d is missing.\n",
|
|
|
+ addr);
|
|
|
+ else if (rc)
|
|
|
goto unregister;
|
|
|
}
|
|
|
|
|
@@ -255,7 +260,7 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
|
|
|
|
|
|
if (of_mdiobus_child_is_phy(child)) {
|
|
|
rc = of_mdiobus_register_phy(mdio, child, addr);
|
|
|
- if (rc)
|
|
|
+ if (rc && rc != -ENODEV)
|
|
|
goto unregister;
|
|
|
}
|
|
|
}
|