diff --git a/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6348-enet.c b/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6348-enet.c index fbab6b68b4d..893bc2734fa 100644 --- a/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6348-enet.c +++ b/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6348-enet.c @@ -1565,7 +1565,10 @@ static int bcm6348_emac_probe(struct platform_device *pdev) emac->old_duplex = -1; emac->old_pause = -1; - of_get_mac_address(node, dev_addr); + ret = of_get_mac_address(node, dev_addr); + if (ret == -EPROBE_DEFER) + return ret; + if (is_valid_ether_addr(dev_addr)) { dev_addr_set(ndev, dev_addr); dev_info(dev, "mtd mac %pM\n", dev_addr); diff --git a/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c b/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c index 8f5b702edf0..a50eb4e671a 100644 --- a/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c +++ b/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c @@ -1005,7 +1005,10 @@ static int bcm6368_enetsw_probe(struct platform_device *pdev) priv->tx_ring_size = ENETSW_DEF_TX_DESC; priv->copybreak = ENETSW_DEF_CPY_BREAK; - of_get_mac_address(node, dev_addr); + ret = of_get_mac_address(node, dev_addr); + if (ret == -EPROBE_DEFER) + return ret; + if (is_valid_ether_addr(dev_addr)) { dev_addr_set(ndev, dev_addr); dev_info(dev, "mtd mac %pM\n", dev_addr);