net: dwc_eth_xgmac: Return -ENODEV when phy_connect() fails
When multiple Ethernet controllers are enabled in the device tree, but only one controller is actually present in hardware, the non-existent controller still attempts to connect to a PHY. In this case, phy_connect() may return NULL without setting an error code. The current driver only logs the failure but does not propagate an error, causing the initialization flow to continue with an invalid PHY handle. This leads to failures later in the initialization sequence. Fix this by explicitly setting ret = -ENODEV when phy_connect() returns NULL, ensuring the driver exits cleanly on failure. Signed-off-by: Boon Khai Ng <boon.khai.ng@altera.com>
This commit is contained in:
committed by
Jerome Forissier
parent
495368c553
commit
f517fdbc0d
@@ -507,6 +507,7 @@ static int xgmac_start(struct udevice *dev)
|
||||
xgmac->config->interface(dev));
|
||||
if (!xgmac->phy) {
|
||||
pr_err("%s phy_connect() failed\n", dev->name);
|
||||
ret = -ENODEV;
|
||||
goto err_stop_resets;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user