[PATCH] Missing memory barrier on net/core/dev.c

From: Felipe W Damasio
Date: Tue Sep 09 2003 - 14:53:13 EST


Hi Dave,

I *think* net/core/dev.c is missing a mb() before calling schedule_timoeut.

Feel free to prove me wrong, though ;)

Patch against 2.6.0-test5.

Please review.

Cheers,

Felipe --- linux-2.6.0-test5/net/core/dev.c Mon Sep 8 16:50:06 2003
+++ linux-2.6.0-test5-fwd/net/core/dev.c Tue Sep 9 14:52:48 2003
@@ -2753,9 +2753,9 @@
rebroadcast_time = jiffies;
}

- current->state = TASK_INTERRUPTIBLE;
+ set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(HZ / 4);
- current->state = TASK_RUNNING;
+ __set_current_state(TASK_RUNNING);

if (time_after(jiffies, warning_time + 10 * HZ)) {
printk(KERN_EMERG "unregister_netdevice: "