gianfar: Use random MAC address when none is given
authorMaxim Kochetkov <fido_max@inbox.ru>
Tue, 14 Jul 2020 12:01:04 +0000 (15:01 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Jul 2020 21:16:37 +0000 (14:16 -0700)
If there is no valid MAC address in the device tree,
use a random MAC address.

Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/gianfar.c

index b3c69e9..b513b8c 100644 (file)
@@ -779,8 +779,12 @@ static int gfar_of_init(struct platform_device *ofdev, struct net_device **pdev)
 
        mac_addr = of_get_mac_address(np);
 
-       if (!IS_ERR(mac_addr))
+       if (!IS_ERR(mac_addr)) {
                ether_addr_copy(dev->dev_addr, mac_addr);
+       } else {
+               eth_hw_addr_random(dev);
+               dev_info(&ofdev->dev, "Using random MAC address: %pM\n", dev->dev_addr);
+       }
 
        if (model && !strcasecmp(model, "TSEC"))
                priv->device_flags |= FSL_GIANFAR_DEV_HAS_GIGABIT |