diff options
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 3 | ||||
-rw-r--r-- | arch/x86/kernel/smpboot.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index ce664f33ea8e..bbcc2c389ade 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -642,6 +642,7 @@ static int __cpuinit _acpi_map_lsapic(acpi_handle handle, int *pcpu) | |||
642 | kfree(buffer.pointer); | 642 | kfree(buffer.pointer); |
643 | buffer.length = ACPI_ALLOCATE_BUFFER; | 643 | buffer.length = ACPI_ALLOCATE_BUFFER; |
644 | buffer.pointer = NULL; | 644 | buffer.pointer = NULL; |
645 | lapic = NULL; | ||
645 | 646 | ||
646 | if (!alloc_cpumask_var(&tmp_map, GFP_KERNEL)) | 647 | if (!alloc_cpumask_var(&tmp_map, GFP_KERNEL)) |
647 | goto out; | 648 | goto out; |
@@ -650,7 +651,7 @@ static int __cpuinit _acpi_map_lsapic(acpi_handle handle, int *pcpu) | |||
650 | goto free_tmp_map; | 651 | goto free_tmp_map; |
651 | 652 | ||
652 | cpumask_copy(tmp_map, cpu_present_mask); | 653 | cpumask_copy(tmp_map, cpu_present_mask); |
653 | acpi_register_lapic(physid, lapic->lapic_flags & ACPI_MADT_ENABLED); | 654 | acpi_register_lapic(physid, ACPI_MADT_ENABLED); |
654 | 655 | ||
655 | /* | 656 | /* |
656 | * If mp_register_lapic successfully generates a new logical cpu | 657 | * If mp_register_lapic successfully generates a new logical cpu |
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 66d250c00d11..93a2a0932b51 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include <linux/tboot.h> | 50 | #include <linux/tboot.h> |
51 | #include <linux/stackprotector.h> | 51 | #include <linux/stackprotector.h> |
52 | #include <linux/gfp.h> | 52 | #include <linux/gfp.h> |
53 | #include <linux/cpuidle.h> | ||
53 | 54 | ||
54 | #include <asm/acpi.h> | 55 | #include <asm/acpi.h> |
55 | #include <asm/desc.h> | 56 | #include <asm/desc.h> |
@@ -1422,7 +1423,8 @@ void native_play_dead(void) | |||
1422 | tboot_shutdown(TB_SHUTDOWN_WFS); | 1423 | tboot_shutdown(TB_SHUTDOWN_WFS); |
1423 | 1424 | ||
1424 | mwait_play_dead(); /* Only returns on failure */ | 1425 | mwait_play_dead(); /* Only returns on failure */ |
1425 | hlt_play_dead(); | 1426 | if (cpuidle_play_dead()) |
1427 | hlt_play_dead(); | ||
1426 | } | 1428 | } |
1427 | 1429 | ||
1428 | #else /* ... !CONFIG_HOTPLUG_CPU */ | 1430 | #else /* ... !CONFIG_HOTPLUG_CPU */ |