From: Michael Walle Date: Thu, 17 Nov 2011 12:52:29 +0000 (+0000) Subject: mvgbe: remove setting of ethaddr within the driver X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=19a5944fcd623f1793ce57569171f617200e4b15;p=u-boot.git mvgbe: remove setting of ethaddr within the driver A network driver should not touch the environment at all. This patch fixes this behaviour by removing the code for setting a default/randomized MAC address. Signed-off-by: Michael Walle Acked-by: Mike Frysinger Acked-by: Prafulla Wadaskar Cc: Mike Frysinger Cc: Prafulla Wadaskar Cc: Valentin Longchamp Cc: Eric Cooper Cc: Jason Cooper Cc: Siddarth Gore Cc: Albert ARIBAUD Cc: Simon Guinot Acked-by: Prafulla Wadaskar --- diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c index de7cdd7ba7..1dcb700161 100644 --- a/drivers/net/mvgbe.c +++ b/drivers/net/mvgbe.c @@ -651,7 +651,6 @@ int mvgbe_initialize(bd_t *bis) struct mvgbe_device *dmvgbe; struct eth_device *dev; int devnum; - char *s; u8 used_ports[MAX_MVGBE_DEVS] = CONFIG_MVGBE_PORTS; for (devnum = 0; devnum < MAX_MVGBE_DEVS; devnum++) { @@ -706,16 +705,13 @@ error1: /* must be less than NAMESIZE (16) */ sprintf(dev->name, "egiga%d", devnum); - /* Extract the MAC address from the environment */ switch (devnum) { case 0: dmvgbe->regs = (void *)MVGBE0_BASE; - s = "ethaddr"; break; #if defined(MVGBE1_BASE) case 1: dmvgbe->regs = (void *)MVGBE1_BASE; - s = "eth1addr"; break; #endif default: /* this should never happen */ @@ -724,25 +720,6 @@ error1: return -1; } - while (!eth_getenv_enetaddr(s, dev->enetaddr)) { - /* 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); - } - dev->init = (void *)mvgbe_init; dev->halt = (void *)mvgbe_halt; dev->send = (void *)mvgbe_send;