mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
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>
This commit is contained in:
parent
26d46867b7
commit
b62b8ef906
2 changed files with 4 additions and 3 deletions
|
@ -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)
|
static int acpi_processor_handle_eject(struct acpi_processor *pr)
|
||||||
{
|
{
|
||||||
if (cpu_online(pr->id)) {
|
if (cpu_online(pr->id))
|
||||||
return (-EINVAL);
|
cpu_down(pr->id);
|
||||||
}
|
|
||||||
arch_unregister_cpu(pr->id);
|
arch_unregister_cpu(pr->id);
|
||||||
acpi_unmap_lsapic(pr->id);
|
acpi_unmap_lsapic(pr->id);
|
||||||
return (0);
|
return (0);
|
||||||
|
|
|
@ -299,6 +299,7 @@ int __ref cpu_down(unsigned int cpu)
|
||||||
cpu_maps_update_done();
|
cpu_maps_update_done();
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(cpu_down);
|
||||||
#endif /*CONFIG_HOTPLUG_CPU*/
|
#endif /*CONFIG_HOTPLUG_CPU*/
|
||||||
|
|
||||||
/* Requires cpu_add_remove_lock to be held */
|
/* Requires cpu_add_remove_lock to be held */
|
||||||
|
|
Loading…
Reference in a new issue