ethernet: use eth_hw_addr_set() instead of ether_addr_copy()
[linux-2.6-microblaze.git] / drivers / net / ethernet / broadcom / bgmac-bcma.c
index 85fa0ab..2875906 100644 (file)
@@ -129,6 +129,8 @@ static int bgmac_probe(struct bcma_device *core)
        bcma_set_drvdata(core, bgmac);
 
        err = of_get_mac_address(bgmac->dev->of_node, bgmac->net_dev->dev_addr);
+       if (err == -EPROBE_DEFER)
+               return err;
 
        /* If no MAC address assigned via device tree, check SPROM */
        if (err) {
@@ -148,7 +150,7 @@ static int bgmac_probe(struct bcma_device *core)
                        err = -ENOTSUPP;
                        goto err;
                }
-               ether_addr_copy(bgmac->net_dev->dev_addr, mac);
+               eth_hw_addr_set(bgmac->net_dev, mac);
        }
 
        /* On BCM4706 we need common core to access PHY */