[PATCH] wifi: wfx: handle EPROBE_DEFER with of_get_mac_address
From: Rosen Penev
Date: Mon Apr 27 2026 - 01:16:32 EST
In case nvmem gets used and is not ready in time for probe of wfx,
EPROBE_DEFER gets called. Return it so that a proper MAC address can be
specified in such a case.
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
---
drivers/net/wireless/silabs/wfx/main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/wireless/silabs/wfx/main.c b/drivers/net/wireless/silabs/wfx/main.c
index dda36e41eed1..dc40a9bd986d 100644
--- a/drivers/net/wireless/silabs/wfx/main.c
+++ b/drivers/net/wireless/silabs/wfx/main.c
@@ -445,6 +445,8 @@ int wfx_probe(struct wfx_dev *wdev)
for (i = 0; i < ARRAY_SIZE(wdev->addresses); i++) {
eth_zero_addr(wdev->addresses[i].addr);
err = of_get_mac_address(wdev->dev->of_node, wdev->addresses[i].addr);
+ if (err == -EPROBE_DEFER)
+ goto irq_unsubscribe;
if (!err)
wdev->addresses[i].addr[ETH_ALEN - 1] += i;
else
--
2.54.0