From eadd81b17ec4258a8eceaaa6f54d3eb975589f54 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 28 Feb 2026 11:59:33 -0800 Subject: [PATCH] kernel: ssb: fallback-sprom: check deferred probe When NVMEM is not ready, of_get_mac_address fails. Handle this. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/22305 Signed-off-by: Christian Marangi --- target/linux/generic/files/drivers/ssb/fallback-sprom.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/target/linux/generic/files/drivers/ssb/fallback-sprom.c b/target/linux/generic/files/drivers/ssb/fallback-sprom.c index 9c2511febe..e2ba3da4e4 100644 --- a/target/linux/generic/files/drivers/ssb/fallback-sprom.c +++ b/target/linux/generic/files/drivers/ssb/fallback-sprom.c @@ -690,6 +690,7 @@ static int ssb_fbs_probe(struct platform_device *pdev) struct ssb_fbs *priv; unsigned long flags; u8 mac[ETH_ALEN]; + int ret; priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) @@ -702,7 +703,10 @@ static int ssb_fbs_probe(struct platform_device *pdev) of_property_read_u32(node, "pci-bus", &priv->pci_bus); of_property_read_u32(node, "pci-dev", &priv->pci_dev); - of_get_mac_address(node, mac); + ret = of_get_mac_address(node, mac); + if (ret == -EPROBE_DEFER) + return ret; + if (is_valid_ether_addr(mac)) { dev_info(dev, "mtd mac %pM\n", mac); } else {