[PATCH 7.0.y 2/5] net: mvneta: support EPROBE_DEFER when reading MAC address
From: Arbab Haider
Date: Wed Aug 05 2026 - 06:04:59 EST
From: Rosen Penev <rosenp@xxxxxxxxx>
If nvmem loads after the ethernet driver, mac address assignments will
not take effect. of_get_ethdev_address returns EPROBE_DEFER in such a
case so we need to handle that to avoid eth_hw_addr_random.
Add extra goto section to just free stats as they are allocated right
above.
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
Reviewed-by: Simon Horman <horms@xxxxxxxxxx>
Link: https://patch.msgid.link/20260307031709.640141-1-rosenp@xxxxxxxxx
Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
[ Upstream commit 73a864352570fd30d942652f05bfe9340d7a2055 ]
---
drivers/net/ethernet/marvell/mvneta.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index 22da95d46bef..744d6585a949 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -5620,6 +5620,8 @@ static int mvneta_probe(struct platform_device *pdev)
}
err = of_get_ethdev_address(dn, dev);
+ if (err == -EPROBE_DEFER)
+ goto err_free_stats;
if (!err) {
mac_from = "device tree";
} else {
@@ -5755,6 +5757,7 @@ static int mvneta_probe(struct platform_device *pdev)
1 << pp->id);
mvneta_bm_put(pp->bm_priv);
}
+err_free_stats:
free_percpu(pp->stats);
err_free_ports:
free_percpu(pp->ports);
--
2.53.0