aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosen Penev <[email protected]>2024-08-24 13:02:37 -0700
committerJakub Kicinski <[email protected]>2024-08-27 14:19:09 -0700
commitbe04024a24a93f761a7b2c5f2de46db0f3acdc74 (patch)
tree56364083c135ca026f066109f574a1ecb97c96df
parent0eaebf738e6ec45d1f8a268155b13afcf17e2c97 (diff)
net: ag71xx: support probe defferal for getting MAC address
Currently, of_get_ethdev_address() return is checked for any return error code which means that trying to get the MAC from NVMEM cells that is backed by MTD will fail if it was not probed before ag71xx. So, lets check the return error code for EPROBE_DEFER and defer the ag71xx probe in that case until the underlying NVMEM device is live. Signed-off-by: Robert Marko <[email protected]> Signed-off-by: Rosen Penev <[email protected]> Reviewed-by: Oleksij Rempel <[email protected]> Reviewed-by: Andrew Lunn <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
-rw-r--r--drivers/net/ethernet/atheros/ag71xx.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/atheros/ag71xx.c b/drivers/net/ethernet/atheros/ag71xx.c
index bf02bea03a7b..543cbea47138 100644
--- a/drivers/net/ethernet/atheros/ag71xx.c
+++ b/drivers/net/ethernet/atheros/ag71xx.c
@@ -1895,6 +1895,8 @@ static int ag71xx_probe(struct platform_device *pdev)
ag->stop_desc->next = (u32)ag->stop_desc_dma;
err = of_get_ethdev_address(np, ndev);
+ if (err == -EPROBE_DEFER)
+ return err;
if (err) {
netif_err(ag, probe, ndev, "invalid MAC address, using random address\n");
eth_hw_addr_random(ndev);