[PATCHv2 net-next] net: mvneta: support EPROBE_DEFER when reading MAC address

Rosen Penev posted 1 patch 1 month ago
drivers/net/ethernet/marvell/mvneta.c | 3 +++
1 file changed, 3 insertions(+)
[PATCHv2 net-next] net: mvneta: support EPROBE_DEFER when reading MAC address
Posted by Rosen Penev 1 month ago
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@gmail.com>
---
 v2: free stats on probe defer.
 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 d627858d2802..5bdf5020ec69 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
Re: [PATCHv2 net-next] net: mvneta: support EPROBE_DEFER when reading MAC address
Posted by Simon Horman 4 weeks, 1 day ago
On Fri, Mar 06, 2026 at 07:17:09PM -0800, Rosen Penev wrote:
> 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@gmail.com>
> ---
>  v2: free stats on probe defer.

Reviewed-by: Simon Horman <horms@kernel.org>