kirkwood_egiga: CONFIG_SKIP_LOCAL_MAC_RANDOMIZATION
authorAlbert Aribaud <albert.aribaud@free.fr>
Mon, 12 Jul 2010 09:03:33 +0000 (11:03 +0200)
committerBen Warren <biggerbadderben@gmail.com>
Tue, 13 Jul 2010 06:38:25 +0000 (23:38 -0700)
This configuration option allows SoCs without random
generation capability to fill in local MACs with a  fixed
rather than random value

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
drivers/net/kirkwood_egiga.c

index dca9f11c2a5bcd15ea49792af666a0bdc157971a..7aabcefa983d8dfad097599a9ba28ff5d76d4797 100644 (file)
@@ -699,13 +699,21 @@ int kirkwood_egiga_initialize(bd_t * bis)
                }
 
                while (!eth_getenv_enetaddr(s, dev->enetaddr)) {
-                       /* Generate Random Private MAC addr if not set */
+                       /* Generate Private MAC addr if not set */
                        dev->enetaddr[0] = 0x02;
                        dev->enetaddr[1] = 0x50;
                        dev->enetaddr[2] = 0x43;
+#if defined (CONFIG_SKIP_LOCAL_MAC_RANDOMIZATION)
+                       /* Generate fixed lower MAC half using devnum */
+                       dev->enetaddr[3] = 0;
+                       dev->enetaddr[4] = 0;
+                       dev->enetaddr[5] = devnum;
+#else
+                       /* Generate random lower MAC half */
                        dev->enetaddr[3] = get_random_hex();
                        dev->enetaddr[4] = get_random_hex();
                        dev->enetaddr[5] = get_random_hex();
+#endif
                        eth_setenv_enetaddr(s, dev->enetaddr);
                }