[PATCH] PM/Sleep,ACPI: Teach acpi_cpu_soft_notify() to handle CPU hotplug insuspend/resume path

From: Srivatsa S. Bhat
Date: Tue Feb 28 2012 - 11:26:35 EST


acpi_cpu_soft_notify handles only CPU_ONLINE and CPU_DEAD events. However,
during a system-wide suspend/hibernation operation, CPU_ONLINE_FROZEN and
CPU_DEAD_FROZEN events are sent as part of CPU hotplug.

Those events are really no different from regular CPU hotplug in this context,
and hence acpi shouldn't ignore them. So, teach acpi_cpu_soft_notify() to
handle those events as well.

Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx>
---

I am no ACPI expert! So requesting a thorough review of this patch..

drivers/acpi/processor_driver.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
index 2801b41..3a87b13 100644
--- a/drivers/acpi/processor_driver.c
+++ b/drivers/acpi/processor_driver.c
@@ -422,6 +422,12 @@ static int acpi_cpu_soft_notify(struct notifier_block *nfb,
unsigned int cpu = (unsigned long)hcpu;
struct acpi_processor *pr = per_cpu(processors, cpu);

+ /*
+ * Regular CPU hotplug, and CPU hotplug as part of the suspend/resume
+ * sequence are really no different for us. So, let us handle both.
+ */
+ action &= ~CPU_TASKS_FROZEN;
+
if (action == CPU_ONLINE && pr) {
/* CPU got physically hotplugged and onlined the first time:
* Initialize missing things

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/