Commit 1e874e04 authored by Francois Romieu's avatar Francois Romieu

r8169: missing barriers.

Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
Cc: Hayes Wang <hayeswang@realtek.com>
parent 9085cdfa
...@@ -5552,7 +5552,7 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, ...@@ -5552,7 +5552,7 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb,
if (TX_BUFFS_AVAIL(tp) < MAX_SKB_FRAGS) { if (TX_BUFFS_AVAIL(tp) < MAX_SKB_FRAGS) {
netif_stop_queue(dev); netif_stop_queue(dev);
smp_rmb(); smp_mb();
if (TX_BUFFS_AVAIL(tp) >= MAX_SKB_FRAGS) if (TX_BUFFS_AVAIL(tp) >= MAX_SKB_FRAGS)
netif_wake_queue(dev); netif_wake_queue(dev);
} }
...@@ -5653,7 +5653,7 @@ static void rtl8169_tx_interrupt(struct net_device *dev, ...@@ -5653,7 +5653,7 @@ static void rtl8169_tx_interrupt(struct net_device *dev,
if (tp->dirty_tx != dirty_tx) { if (tp->dirty_tx != dirty_tx) {
tp->dirty_tx = dirty_tx; tp->dirty_tx = dirty_tx;
smp_wmb(); smp_mb();
if (netif_queue_stopped(dev) && if (netif_queue_stopped(dev) &&
(TX_BUFFS_AVAIL(tp) >= MAX_SKB_FRAGS)) { (TX_BUFFS_AVAIL(tp) >= MAX_SKB_FRAGS)) {
netif_wake_queue(dev); netif_wake_queue(dev);
...@@ -5664,7 +5664,6 @@ static void rtl8169_tx_interrupt(struct net_device *dev, ...@@ -5664,7 +5664,6 @@ static void rtl8169_tx_interrupt(struct net_device *dev,
* of start_xmit activity is detected (if it is not detected, * of start_xmit activity is detected (if it is not detected,
* it is slow enough). -- FR * it is slow enough). -- FR
*/ */
smp_rmb();
if (tp->cur_tx != dirty_tx) if (tp->cur_tx != dirty_tx)
RTL_W8(TxPoll, NPQ); RTL_W8(TxPoll, NPQ);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment