mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH V2] ACPI/Processor: Make acpi_cpu_soft_notify() process CPU FROZEN events
@ 2014-07-31 14:28 Lan Tianyu
  0 siblings, 0 replies; only message in thread
From: Lan Tianyu @ 2014-07-31 14:28 UTC (permalink / raw)
  To: rjw, lenb; +Cc: Lan Tianyu, linux-acpi, linux-kernel

CPU hotplug happens during S2RAM and CPU notify event will be CPU_XXX_FROZEN.
acpi_cpu_soft_notify() ignores to check these events. This also may make
acpi_cpu_soft_notify() fall into sleep during CPU_DYING/STARTING_FROZEN
events which don't allow callbacks to sleep. This patch is to fix it.

Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
---
Change since v1:
	unmark CPU_TASKS_FROZEN for all cpu events.

 drivers/acpi/processor_driver.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
index 4fcbd67..d9f7158 100644
--- a/drivers/acpi/processor_driver.c
+++ b/drivers/acpi/processor_driver.c
@@ -120,6 +120,7 @@ static int acpi_cpu_soft_notify(struct notifier_block *nfb,
 	unsigned int cpu = (unsigned long)hcpu;
 	struct acpi_processor *pr = per_cpu(processors, cpu);
 	struct acpi_device *device;
+	action &= ~CPU_TASKS_FROZEN;
 
 	/*
 	 * CPU_STARTING and CPU_DYING must not sleep. Return here since
-- 
1.8.4.rc0.1.g8f6a3e5.dirty


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-07-31 14:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-31 14:28 [PATCH V2] ACPI/Processor: Make acpi_cpu_soft_notify() process CPU FROZEN events Lan Tianyu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®