Using mmiowb() prevents an occasional oops in tg3_tx() resulting from
a NULL skb pointer in the tx_ring_info structure.
Signed-off-by: Greg Banks <redacted>
---
--- linux.1/drivers/net/tg3.c 2004-10-12 13:50:39.000000000 -0700
+++ linux/drivers/net/tg3.c 2004-10-12 13:55:37.000000000 -0700
@@ -2729,6 +2729,7 @@
tw32_rx_mbox(MAILBOX_RCV_JUMBO_PROD_IDX + TG3_64BIT_REG_LOW,
sw_idx);
}
+ mmiowb();
return received;
}
@@ -3176,6 +3177,7 @@
netif_stop_queue(dev);
out_unlock:
+ mmiowb();
spin_unlock_irqrestore(&tp->tx_lock, flags);
dev->trans_start = jiffies;