]> err.no Git - linux-2.6/blobdiff - arch/i386/kernel/process.c
[PATCH] mark struct file_operations const 9
[linux-2.6] / arch / i386 / kernel / process.c
index 99308510a17c7fdab49f6a90a1f09e9f9917cf37..c641056233a60a2bffaff12edae8773018019945 100644 (file)
@@ -102,7 +102,12 @@ void default_idle(void)
 {
        if (!hlt_counter && boot_cpu_data.hlt_works_ok) {
                current_thread_info()->status &= ~TS_POLLING;
-               smp_mb__after_clear_bit();
+               /*
+                * TS_POLLING-cleared state must be visible before we
+                * test NEED_RESCHED:
+                */
+               smp_mb();
+
                local_irq_disable();
                if (!need_resched())
                        safe_halt();    /* enables interrupts racelessly */