Skip to content

Commit d66b16f

Browse files
Qais YousefKAGA-KOKO
authored andcommitted
arm64: Don't use disable_nonboot_cpus()
disable_nonboot_cpus() is not safe to use when doing machine_down(), because it relies on freeze_secondary_cpus() which in turn is a suspend/resume related freeze and could abort if the logic detects any pending activities that can prevent finishing the offlining process. Beside disable_nonboot_cpus() is dependent on CONFIG_PM_SLEEP_SMP which is an othogonal config to rely on to ensure this function works correctly. Signed-off-by: Qais Yousef <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Acked-by: Catalin Marinas <[email protected]> Cc: Will Deacon <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
1 parent 11ee270 commit d66b16f

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

arch/arm64/kernel/process.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,11 @@ void arch_cpu_idle_dead(void)
141141
* to execute e.g. a RAM-based pin loop is not sufficient. This allows the
142142
* kexec'd kernel to use any and all RAM as it sees fit, without having to
143143
* avoid any code or data used by any SW CPU pin loop. The CPU hotplug
144-
* functionality embodied in disable_nonboot_cpus() to achieve this.
144+
* functionality embodied in smpt_shutdown_nonboot_cpus() to achieve this.
145145
*/
146146
void machine_shutdown(void)
147147
{
148-
disable_nonboot_cpus();
148+
smp_shutdown_nonboot_cpus(0);
149149
}
150150

151151
/*

0 commit comments

Comments
 (0)