bfin_gen_rand_mac() uses __DATE__ as the seed for random ethernet address. This makes the build non-deterministic. In the first place, it should not be implemented as a Bfin-specific function. Use eth_random_addr() instead. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Sonic Zhang <sonic.zhang@analog.com>master
parent
da384a9d76
commit
c42f56d96d
@ -1,28 +0,0 @@ |
||||
/*
|
||||
* net.h - misc Blackfin network helpers |
||||
* |
||||
* Copyright (c) 2008-2009 Analog Devices Inc. |
||||
* |
||||
* Licensed under the GPL-2 or later. |
||||
*/ |
||||
|
||||
#ifndef __ASM_BFIN_RAND_MAC__ |
||||
#define __ASM_BFIN_RAND_MAC__ |
||||
|
||||
/* If the board does not have a real MAC assigned to it, then generate a
|
||||
* locally administrated pseudo-random one based on CYCLES and compile date. |
||||
*/ |
||||
static inline void bfin_gen_rand_mac(uchar *mac_addr) |
||||
{ |
||||
/* make something up */ |
||||
const char s[] = __DATE__; |
||||
size_t i; |
||||
u32 cycles; |
||||
for (i = 0; i < 6; ++i) { |
||||
asm("%0 = CYCLES;" : "=r" (cycles)); |
||||
mac_addr[i] = cycles ^ s[i]; |
||||
} |
||||
mac_addr[0] = (mac_addr[0] | 0x02) & ~0x01; /* make it local unicast */ |
||||
} |
||||
|
||||
#endif |
Loading…
Reference in new issue