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 2e8778043b7063e5af1cfcf598cbbe1cc8687266..d11670c0eee0cb161d96d479441bdeaf1abdecb1 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);
        }
 }