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 --- 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