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 {