From 633c4a0acba0791b9f16cab8f654364684f49340 Mon Sep 17 00:00:00 2001 From: Zhang Rui Date: Tue, 29 Apr 2008 02:35:56 -0400 Subject: [PATCH] --- yaml --- r: 101979 b: refs/heads/master c: b62b8ef906cdf7115af579ce7378886ce3e0ce00 h: refs/heads/master i: 101977: 0f21a468e70a34fe5396ec3b963bda943952dd3c 101975: ca37b7b0993b709418728ee677e9d446df7f2ff4 v: v3 --- [refs] | 2 +- trunk/drivers/acpi/processor_core.c | 6 +++--- trunk/kernel/cpu.c | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 8f4369b6b463..a179743e63b5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 26d46867b7d27f68a446b073dac7817721ae4c8f +refs/heads/master: b62b8ef906cdf7115af579ce7378886ce3e0ce00 diff --git a/trunk/drivers/acpi/processor_core.c b/trunk/drivers/acpi/processor_core.c index 9dd0fa93b9e1..1c0008edccda 100644 --- a/trunk/drivers/acpi/processor_core.c +++ b/trunk/drivers/acpi/processor_core.c @@ -1014,9 +1014,9 @@ static acpi_status acpi_processor_hotadd_init(acpi_handle handle, int *p_cpu) static int acpi_processor_handle_eject(struct acpi_processor *pr) { - if (cpu_online(pr->id)) { - return (-EINVAL); - } + if (cpu_online(pr->id)) + cpu_down(pr->id); + arch_unregister_cpu(pr->id); acpi_unmap_lsapic(pr->id); return (0); diff --git a/trunk/kernel/cpu.c b/trunk/kernel/cpu.c index b11f06dc149a..cfb1d43ab801 100644 --- a/trunk/kernel/cpu.c +++ b/trunk/kernel/cpu.c @@ -299,6 +299,7 @@ int __ref cpu_down(unsigned int cpu) cpu_maps_update_done(); return err; } +EXPORT_SYMBOL(cpu_down); #endif /*CONFIG_HOTPLUG_CPU*/ /* Requires cpu_add_remove_lock to be held */