The callback of CPU_STARTING event can't sleep and so acpi_cpu_soft_notify()
return directly when CPU_STARTING event is triggered. But cpu hotplug also
happens during S2RAM. The action will become CPU_STARTING_FROZEN. This
patch is to fix missing check the frozen event.

Signed-off-by: Lan Tianyu <[email protected]>
---
 drivers/acpi/processor_driver.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
index 4fcbd67..66e2249 100644
--- a/drivers/acpi/processor_driver.c
+++ b/drivers/acpi/processor_driver.c
@@ -125,7 +125,7 @@ static int acpi_cpu_soft_notify(struct notifier_block *nfb,
         * CPU_STARTING and CPU_DYING must not sleep. Return here since
         * acpi_bus_get_device() may sleep.
         */
-       if (action == CPU_STARTING || action == CPU_DYING)
+       if ((action & ~CPU_TASKS_FROZEN) == CPU_STARTING || action == CPU_DYING)
                return NOTIFY_DONE;
 
        if (!pr || acpi_bus_get_device(pr->handle, &device))
-- 
1.8.4.rc0.1.g8f6a3e5.dirty

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

Reply via email to