summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfrançois romieu <romieu@fr.zoreil.com>2010-04-26 11:42:58 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-12 14:57:12 -0700
commit5d5749c86711c91499820043202db1f534d0aeec (patch)
tree50d4e24fe973d91a98137ec701395786e63de26f
parentef68673a14ca255dcdbfff9eae28fbc44d98cb6d (diff)
downloadlwn-5d5749c86711c91499820043202db1f534d0aeec.tar.gz
lwn-5d5749c86711c91499820043202db1f534d0aeec.zip
r8169: more broken register writes workaround
commit 908ba2bfd22253f26fa910cd855e4ccffb1467d0 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/net/r8169.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index f79886d0128b..211b587195cc 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -2832,8 +2832,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);