Thread (1 message) 1 message, 1 author, 2004-04-05
DORMANTno replies

[patch 4/7] 2.6.5-bk-netdev - r8169 queue

From: Francois Romieu <romieu@fr.zoreil.com>
Date: 2004-04-05 21:58:44

Barrier against compiler optimization.


 drivers/net/r8169.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)

diff -puN drivers/net/r8169.c~r8169-barrier drivers/net/r8169.c
--- linux-2.6.5/drivers/net/r8169.c~r8169-barrier	2004-04-05 23:06:04.000000000 +0200
+++ linux-2.6.5-fr/drivers/net/r8169.c	2004-04-05 23:06:04.000000000 +0200
@@ -1367,6 +1367,7 @@ rtl8169_tx_interrupt(struct net_device *
 	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];
 
@@ -1428,7 +1429,10 @@ rtl8169_rx_interrupt(struct net_device *
 
 	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;
_
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help