From 5a99bfde3e304c358854eedc87804ca590c2b247 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Romieu?= Date: Tue, 6 Apr 2004 00:19:50 -0400 Subject: [PATCH] [netdrvr r8169] Barrier against compiler optimization. --- drivers/net/r8169.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 22812ac6c06cc..331edcf1c890c 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -1369,6 +1369,7 @@ rtl8169_tx_interrupt(struct net_device *dev, struct rtl8169_private *tp, while (tx_left > 0) { int entry = dirty_tx % NUM_TX_DESC; + rmb(); if (!(le32_to_cpu(tp->TxDescArray[entry].status) & OWNbit)) { struct sk_buff *skb = tp->Tx_skbuff[entry]; @@ -1430,7 +1431,10 @@ rtl8169_rx_interrupt(struct net_device *dev, struct rtl8169_private *tp, while (rx_left > 0) { int entry = cur_rx % NUM_RX_DESC; - u32 status = le32_to_cpu(tp->RxDescArray[entry].status); + u32 status; + + rmb(); + status = le32_to_cpu(tp->RxDescArray[entry].status); if (status & OWNbit) break; -- 2.53.0