Instead of falling back to 00:00:00:00:00:00 generate a random address
if none is provided via platform data or from the the device's register
space.

Signed-off-by: Uwe Kleine-König <u.kleine-koe...@pengutronix.de>
---
 drivers/net/ethernet/8390/ax88796.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/ethernet/8390/ax88796.c 
b/drivers/net/ethernet/8390/ax88796.c
index db02bc2fb4b2..05d9d3e2e92e 100644
--- a/drivers/net/ethernet/8390/ax88796.c
+++ b/drivers/net/ethernet/8390/ax88796.c
@@ -723,6 +723,12 @@ static int ax_init_dev(struct net_device *dev)
            ax->plat->mac_addr)
                memcpy(dev->dev_addr, ax->plat->mac_addr, ETH_ALEN);
 
+       if (!is_valid_ether_addr(dev->dev_addr)) {
+               eth_hw_addr_random(dev);
+               dev_info(&dev->dev, "Using random MAC address: %pM\n",
+                        dev->dev_addr);
+       }
+
        ax_reset_8390(dev);
 
        ei_local->name = "AX88796";
-- 
2.11.0

Reply via email to