From: Martin Langer Date: Tue, 14 Oct 2008 01:49:38 +0000 (-0700) Subject: de2104x: wrong MAC address fix X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=bc0da3fcec1cec11dc451b8fcb9c9ad7e4ca6e12;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: David S. Miller --- diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c index f54c45049d50..124d5d690dde 100644 --- a/drivers/net/tulip/de2104x.c +++ b/drivers/net/tulip/de2104x.c @@ -1688,6 +1688,7 @@ static void __devinit de21040_get_mac_address (struct de_private *de) unsigned i; dw32 (ROMCmd, 0); /* Reset the pointer with a dummy write. */ + udelay(5); for (i = 0; i < 6; i++) { int value, boguscnt = 100000;