diff options
Diffstat (limited to 'drivers/net/r8169.c')
-rw-r--r-- | drivers/net/r8169.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 3db85daa3671..787befc65322 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) | |||
2832 | spin_lock_irq(&tp->lock); | 2832 | spin_lock_irq(&tp->lock); |
2833 | 2833 | ||
2834 | RTL_W8(Cfg9346, Cfg9346_Unlock); | 2834 | RTL_W8(Cfg9346, Cfg9346_Unlock); |
2835 | RTL_W32(MAC0, low); | 2835 | |
2836 | RTL_W32(MAC4, high); | 2836 | RTL_W32(MAC4, high); |
2837 | RTL_R32(MAC4); | ||
2838 | |||
2839 | RTL_W32(MAC0, low); | ||
2840 | RTL_R32(MAC0); | ||
2841 | |||
2837 | RTL_W8(Cfg9346, Cfg9346_Lock); | 2842 | RTL_W8(Cfg9346, Cfg9346_Lock); |
2838 | 2843 | ||
2839 | spin_unlock_irq(&tp->lock); | 2844 | spin_unlock_irq(&tp->lock); |
@@ -4316,7 +4321,7 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, | |||
4316 | 4321 | ||
4317 | tp->cur_tx += frags + 1; | 4322 | tp->cur_tx += frags + 1; |
4318 | 4323 | ||
4319 | smp_wmb(); | 4324 | wmb(); |
4320 | 4325 | ||
4321 | RTL_W8(TxPoll, NPQ); /* set polling bit */ | 4326 | RTL_W8(TxPoll, NPQ); /* set polling bit */ |
4322 | 4327 | ||
@@ -4675,7 +4680,7 @@ static int rtl8169_poll(struct napi_struct *napi, int budget) | |||
4675 | * until it does. | 4680 | * until it does. |
4676 | */ | 4681 | */ |
4677 | tp->intr_mask = 0xffff; | 4682 | tp->intr_mask = 0xffff; |
4678 | smp_wmb(); | 4683 | wmb(); |
4679 | RTL_W16(IntrMask, tp->intr_event); | 4684 | RTL_W16(IntrMask, tp->intr_event); |
4680 | } | 4685 | } |
4681 | 4686 | ||
@@ -4813,8 +4818,8 @@ static void rtl_set_rx_mode(struct net_device *dev) | |||
4813 | mc_filter[1] = swab32(data); | 4818 | mc_filter[1] = swab32(data); |
4814 | } | 4819 | } |
4815 | 4820 | ||
4816 | RTL_W32(MAR0 + 0, mc_filter[0]); | ||
4817 | RTL_W32(MAR0 + 4, mc_filter[1]); | 4821 | RTL_W32(MAR0 + 4, mc_filter[1]); |
4822 | RTL_W32(MAR0 + 0, mc_filter[0]); | ||
4818 | 4823 | ||
4819 | RTL_W32(RxConfig, tmp); | 4824 | RTL_W32(RxConfig, tmp); |
4820 | 4825 | ||