aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorZhang Rui <rui.zhang@intel.com>2008-04-29 02:35:56 -0400
committerAndi Kleen <andi@basil.nowhere.org>2008-07-16 17:27:01 -0400
commitb62b8ef906cdf7115af579ce7378886ce3e0ce00 (patch)
tree9017eff86e7a8d22a88d92df88021f01162d7e0e /drivers
parent26d46867b7d27f68a446b073dac7817721ae4c8f (diff)
force offline the processor during hot-removal
The ACPI device node for the cpu has already been unregistered when acpi_processor_handle_eject is called. Thus we should offline the cpu and continue, rather than a failure here. http://bugzilla.kernel.org/show_bug.cgi?id=9772 Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Len Brown <len.brown@intel.com> Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/processor_core.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
index 9dd0fa93b9e1..1c0008edccda 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -1014,9 +1014,9 @@ static acpi_status acpi_processor_hotadd_init(acpi_handle handle, int *p_cpu)
1014 1014
1015static int acpi_processor_handle_eject(struct acpi_processor *pr) 1015static int acpi_processor_handle_eject(struct acpi_processor *pr)
1016{ 1016{
1017 if (cpu_online(pr->id)) { 1017 if (cpu_online(pr->id))
1018 return (-EINVAL); 1018 cpu_down(pr->id);
1019 } 1019
1020 arch_unregister_cpu(pr->id); 1020 arch_unregister_cpu(pr->id);
1021 acpi_unmap_lsapic(pr->id); 1021 acpi_unmap_lsapic(pr->id);
1022 return (0); 1022 return (0);