]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/x86/kernel/process_32.c
Merge branch 'linus' into sched/devel
[mv-sheeva.git] / arch / x86 / kernel / process_32.c
index 53bc653ed5ca52bab902dde3d9efbc0e1630eb6c..3b7a1ddcc0bce7eca8c989906fa377d4f0322f50 100644 (file)
@@ -95,7 +95,6 @@ static inline void play_dead(void)
 {
        /* This must be done before dead CPU ack */
        cpu_exit_clear();
-       wbinvd();
        mb();
        /* Ack it */
        __get_cpu_var(cpu_state) = CPU_DEAD;
@@ -104,8 +103,8 @@ static inline void play_dead(void)
         * With physical CPU hotplug, we should halt the cpu
         */
        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)