]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/process_64.c
Merge commit 'v2.6.27-rc7' into x86/pebs
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / process_64.c
index 91ffce47af8ec5401e8be094b39774f8dc843c57..30ce4734edaa0b672926649f20455ed8895a85a9 100644 (file)
@@ -93,14 +93,13 @@ DECLARE_PER_CPU(int, cpu_state);
 static inline void play_dead(void)
 {
        idle_task_exit();
-       wbinvd();
        mb();
        /* Ack it */
        __get_cpu_var(cpu_state) = CPU_DEAD;
 
        local_irq_disable();
-       while (1)
-               halt();
+       /* mask all interrupts, flush any and all caches, and halt */
+       wbinvd_halt();
 }
 #else
 static inline void play_dead(void)