omap2: set the ethaddr as well as the usbethaddr env var to ensure static MAC
authorPeter Robinson <pbrobinson@gmail.com>
Thu, 23 Nov 2017 13:14:17 +0000 (13:14 +0000)
committerTom Rini <trini@konsulko.com>
Sat, 2 Dec 2017 23:32:58 +0000 (18:32 -0500)
The kernel gets the ethernet MAC from the ethaddr variable, the omap boards for
devices with USB based eth adapters just set the usbethaddr which doesn't appear
to get passed to the kernel. The same Raspberry Pi code sets both ethaddr and
usbethaddr so lets do that so linux (tested 4.13 and 4.14) get a static rather
than a random MAC address, while not regressing users of usbethaddr.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
arch/arm/mach-omap2/utils.c

index 2e87780..d11670c 100644 (file)
@@ -215,6 +215,9 @@ void omap_die_id_usbethaddr(void)
                mac[5] = (die_id[0] >> 8) & 0xff;
 
                eth_env_set_enetaddr("usbethaddr", mac);
+
+               if (!env_get("ethaddr"))
+                       eth_env_set_enetaddr("ethaddr", mac);
        }
 }