summaryrefslogtreecommitdiff
path: root/drivers/acpi/processor_idle.c
diff options
context:
space:
mode:
authorWolfram Sang <wsa@kernel.org>2021-04-10 21:48:34 +0200
committerWolfram Sang <wsa@kernel.org>2021-04-10 21:48:34 +0200
commit2375843b50d6139b82648499daaad2034576905b (patch)
tree321fd890f3eeeda1f8ae38fef6312e6d959f5aba /drivers/acpi/processor_idle.c
parent660f58b6d290417828680f417f43d7b810fa9138 (diff)
parent4b2b4cc50ba6d607d1611ea6b2046a58d16e45eb (diff)
downloadlwn-2375843b50d6139b82648499daaad2034576905b.tar.gz
lwn-2375843b50d6139b82648499daaad2034576905b.zip
Merge branch 'i2c/software-nodes' into i2c/for-5.13
Diffstat (limited to 'drivers/acpi/processor_idle.c')
-rw-r--r--drivers/acpi/processor_idle.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index d93e400940a3..768a6b4d2368 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -29,6 +29,7 @@
*/
#ifdef CONFIG_X86
#include <asm/apic.h>
+#include <asm/cpu.h>
#endif
#define _COMPONENT ACPI_PROCESSOR_COMPONENT
@@ -541,6 +542,12 @@ static int acpi_idle_play_dead(struct cpuidle_device *dev, int index)
wait_for_freeze();
} else
return -ENODEV;
+
+#if defined(CONFIG_X86) && defined(CONFIG_HOTPLUG_CPU)
+ /* If NMI wants to wake up CPU0, start CPU0. */
+ if (wakeup_cpu0())
+ start_cpu0();
+#endif
}
/* Never reached */