
if ethaddr is not setup in the environment, fill the device enetaddr with a random value. Don;t touch the ethaddr settings, only dev->enetaddr.
Tested on the suen3 board.
Signed-off-by: Heiko Schocher hs@denx.de --- - changes since v1 posted here: http://lists.denx.de/pipermail/u-boot/2010-March/069193.html
- split in two patches as Wolfgang suggested
drivers/net/kirkwood_egiga.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/drivers/net/kirkwood_egiga.c b/drivers/net/kirkwood_egiga.c index 2ad7fea..f8e421c 100644 --- a/drivers/net/kirkwood_egiga.c +++ b/drivers/net/kirkwood_egiga.c @@ -678,7 +678,7 @@ int kirkwood_egiga_initialize(bd_t * bis) return -1; }
- while (!eth_getenv_enetaddr(s, dev->enetaddr)) { + if (!eth_getenv_enetaddr(s, dev->enetaddr)) { /* Generate Random Private MAC addr if not set */ dev->enetaddr[0] = 0x02; dev->enetaddr[1] = 0x50; @@ -686,7 +686,6 @@ int kirkwood_egiga_initialize(bd_t * bis) dev->enetaddr[3] = get_random_hex(); dev->enetaddr[4] = get_random_hex(); dev->enetaddr[5] = get_random_hex(); - eth_setenv_enetaddr(s, dev->enetaddr); }
dev->init = (void *)kwgbe_init;