Fixed memory barrier bug in 8139too drivers.

This commit is contained in:
Florian Pose 2006-11-03 10:00:08 +00:00
parent af20e0a5d2
commit a19f74ff5f
2 changed files with 12 additions and 10 deletions

View File

@ -1969,11 +1969,12 @@ static void rtl8139_tx_interrupt (struct net_device *dev,
}
#endif /* RTL8139_NDEBUG */
if (dev != rtl_ec_net_dev) {
/* only wake the queue if we did work, and the queue is stopped */
if (tp->dirty_tx != dirty_tx) {
tp->dirty_tx = dirty_tx;
mb();
/* only wake the queue if we did work, and the queue is stopped */
if (tp->dirty_tx != dirty_tx) {
tp->dirty_tx = dirty_tx;
mb();
if (dev != rtl_ec_net_dev) {
netif_wake_queue (dev);
}
}

View File

@ -1976,11 +1976,12 @@ static void rtl8139_tx_interrupt (struct net_device *dev,
}
#endif /* RTL8139_NDEBUG */
if (dev != rtl_ec_net_dev) {
/* only wake the queue if we did work, and the queue is stopped */
if (tp->dirty_tx != dirty_tx) {
tp->dirty_tx = dirty_tx;
mb();
/* only wake the queue if we did work, and the queue is stopped */
if (tp->dirty_tx != dirty_tx) {
tp->dirty_tx = dirty_tx;
mb();
if (dev != rtl_ec_net_dev) {
netif_wake_queue (dev);
}
}