Skip to content

Commit dddf357

Browse files
Qais YousefKAGA-KOKO
authored andcommitted
ARM: 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]> Cc: Russell King <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
1 parent 1e42176 commit dddf357

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

arch/arm/kernel/reboot.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,11 @@ void soft_restart(unsigned long addr)
8888
* to execute e.g. a RAM-based pin loop is not sufficient. This allows the
8989
* kexec'd kernel to use any and all RAM as it sees fit, without having to
9090
* avoid any code or data used by any SW CPU pin loop. The CPU hotplug
91-
* functionality embodied in disable_nonboot_cpus() to achieve this.
91+
* functionality embodied in smp_shutdown_nonboot_cpus() to achieve this.
9292
*/
9393
void machine_shutdown(void)
9494
{
95-
disable_nonboot_cpus();
95+
smp_shutdown_nonboot_cpus(0);
9696
}
9797

9898
/*

0 commit comments

Comments
 (0)