summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorfrançois romieu2010-04-26 13:42:58 +0200
committerDavid S. Miller2010-04-27 00:36:48 +0200
commit908ba2bfd22253f26fa910cd855e4ccffb1467d0 (patch)
tree038148421bc028680704eaeb8304f084ccfd4a97 /drivers/net
parentr8169: failure to enable mwi should not be fatal (diff)
downloadkernel-qcow2-linux-908ba2bfd22253f26fa910cd855e4ccffb1467d0.tar.gz
kernel-qcow2-linux-908ba2bfd22253f26fa910cd855e4ccffb1467d0.tar.xz
kernel-qcow2-linux-908ba2bfd22253f26fa910cd855e4ccffb1467d0.zip
r8169: more broken register writes workaround
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>
Diffstat (limited to 'drivers/net')
-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 2b54389c8f57..4748c21eb72e 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -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);