]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/broadcom/bgmac.c
Merge tag 'usb-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[karo-tx-linux.git] / drivers / net / ethernet / broadcom / bgmac.c
index fe88126b1e0c1f4e346dae6a2efe23ba222d7efb..415046750bb449853e794318c700d14f1a1de48d 100644 (file)
@@ -12,6 +12,8 @@
 #include <linux/bcma/bcma.h>
 #include <linux/etherdevice.h>
 #include <linux/bcm47xx_nvram.h>
+#include <linux/phy.h>
+#include <linux/phy_fixed.h>
 #include "bgmac.h"
 
 static bool bgmac_wait_value(struct bgmac *bgmac, u16 reg, u32 mask,
@@ -1475,14 +1477,13 @@ int bgmac_enet_probe(struct bgmac *bgmac)
        net_dev->irq = bgmac->irq;
        SET_NETDEV_DEV(net_dev, bgmac->dev);
 
-       if (!is_valid_ether_addr(bgmac->mac_addr)) {
+       if (!is_valid_ether_addr(net_dev->dev_addr)) {
                dev_err(bgmac->dev, "Invalid MAC addr: %pM\n",
-                       bgmac->mac_addr);
-               eth_random_addr(bgmac->mac_addr);
+                       net_dev->dev_addr);
+               eth_hw_addr_random(net_dev);
                dev_warn(bgmac->dev, "Using random MAC: %pM\n",
-                        bgmac->mac_addr);
+                        net_dev->dev_addr);
        }
-       ether_addr_copy(net_dev->dev_addr, bgmac->mac_addr);
 
        /* This (reset &) enable is not preset in specs or reference driver but
         * Broadcom does it in arch PCI code when enabling fake PCI device.