From: Rosen Penev Date: Sat, 28 Feb 2026 19:59:33 +0000 (-0800) Subject: kernel: ssb: fallback-sprom: check deferred probe X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eadd81b17ec4258a8eceaaa6f54d3eb975589f54;p=thirdparty%2Fopenwrt.git 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 --- diff --git a/target/linux/generic/files/drivers/ssb/fallback-sprom.c b/target/linux/generic/files/drivers/ssb/fallback-sprom.c index 9c2511febe1..e2ba3da4e42 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 {