aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/smp_32.c2
-rw-r--r--arch/x86/kernel/smp_64.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/kernel/smp_32.c b/arch/x86/kernel/smp_32.c
index e4a6b669a0b8..cde3a0ecd716 100644
--- a/arch/x86/kernel/smp_32.c
+++ b/arch/x86/kernel/smp_32.c
@@ -611,7 +611,7 @@ static void stop_this_cpu (void * dummy)
611 */ 611 */
612 cpu_clear(smp_processor_id(), cpu_online_map); 612 cpu_clear(smp_processor_id(), cpu_online_map);
613 disable_local_APIC(); 613 disable_local_APIC();
614 if (cpu_data(smp_processor_id()).hlt_works_ok) 614 if (hlt_works(smp_processor_id()))
615 for(;;) halt(); 615 for(;;) halt();
616 for (;;); 616 for (;;);
617} 617}
diff --git a/arch/x86/kernel/smp_64.c b/arch/x86/kernel/smp_64.c
index e4494e829dfa..4e1e2bce969c 100644
--- a/arch/x86/kernel/smp_64.c
+++ b/arch/x86/kernel/smp_64.c
@@ -416,8 +416,9 @@ static void stop_this_cpu(void *dummy)
416 */ 416 */
417 cpu_clear(smp_processor_id(), cpu_online_map); 417 cpu_clear(smp_processor_id(), cpu_online_map);
418 disable_local_APIC(); 418 disable_local_APIC();
419 for (;;) 419 if (hlt_works(smp_processor_id()))
420 halt(); 420 for (;;) halt();
421 for (;;);
421} 422}
422 423
423void smp_send_stop(void) 424void smp_send_stop(void)