diff options
Diffstat (limited to 'arch/x86/kernel/process_32.c')
| -rw-r--r-- | arch/x86/kernel/process_32.c | 5 | 
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 53bc653ed5ca..3b7a1ddcc0bc 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c  | |||
| @@ -95,7 +95,6 @@ static inline void play_dead(void) | |||
| 95 | { | 95 | { | 
| 96 | /* This must be done before dead CPU ack */ | 96 | /* This must be done before dead CPU ack */ | 
| 97 | cpu_exit_clear(); | 97 | cpu_exit_clear(); | 
| 98 | wbinvd(); | ||
| 99 | mb(); | 98 | mb(); | 
| 100 | /* Ack it */ | 99 | /* Ack it */ | 
| 101 | __get_cpu_var(cpu_state) = CPU_DEAD; | 100 | __get_cpu_var(cpu_state) = CPU_DEAD; | 
| @@ -104,8 +103,8 @@ static inline void play_dead(void) | |||
| 104 | * With physical CPU hotplug, we should halt the cpu | 103 | * With physical CPU hotplug, we should halt the cpu | 
| 105 | */ | 104 | */ | 
| 106 | local_irq_disable(); | 105 | local_irq_disable(); | 
| 107 | while (1) | 106 | /* mask all interrupts, flush any and all caches, and halt */ | 
| 108 | halt(); | 107 | wbinvd_halt(); | 
| 109 | } | 108 | } | 
| 110 | #else | 109 | #else | 
| 111 | static inline void play_dead(void) | 110 | static inline void play_dead(void) | 
