de2104x: wrong MAC address fix
The de2104x returns sometimes a wrong MAC address. The wrong one is like the original one, but it comes with an one byte shift. I found this bug on an older alpha ev5 cpu. More details are available in Gentoo bugreport #240718. It seems the hardware is sometimes a little bit too slow for an immediate access. This patch solves the problem by introducing a small udelay. Signed-off-by: Martin Langer <martin-langer@gmx.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ebe05d06a5
commit
bc0da3fcec
1 changed files with 1 additions and 0 deletions
|
@ -1688,6 +1688,7 @@ static void __devinit de21040_get_mac_address (struct de_private *de)
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
|
||||||
dw32 (ROMCmd, 0); /* Reset the pointer with a dummy write. */
|
dw32 (ROMCmd, 0); /* Reset the pointer with a dummy write. */
|
||||||
|
udelay(5);
|
||||||
|
|
||||||
for (i = 0; i < 6; i++) {
|
for (i = 0; i < 6; i++) {
|
||||||
int value, boguscnt = 100000;
|
int value, boguscnt = 100000;
|
||||||
|
|
Loading…
Reference in a new issue