r8169: more broken register writes workaround
authorfrançois romieu <romieu@fr.zoreil.com>
Mon, 26 Apr 2010 11:42:58 +0000 (11:42 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Apr 2010 22:36:48 +0000 (15:36 -0700)
78f1cd02457252e1ffbc6caa44a17424a45286b8 ("fix broken register writes")
does not work for Al Viro's r8169 (XID 18000000).

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/r8169.c

index 2b54389c8f57a10fdda6c0a35b67ea94a2352625..4748c21eb72e98d1446e5923ae25822c081f3c28 100644 (file)
@@ -2826,8 +2826,13 @@ static void rtl_rar_set(struct rtl8169_private *tp, u8 *addr)
        spin_lock_irq(&tp->lock);
 
        RTL_W8(Cfg9346, Cfg9346_Unlock);
+
        RTL_W32(MAC4, high);
+       RTL_R32(MAC4);
+
        RTL_W32(MAC0, low);
+       RTL_R32(MAC0);
+
        RTL_W8(Cfg9346, Cfg9346_Lock);
 
        spin_unlock_irq(&tp->lock);