]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ARM: rockchip: fix kernel hang during smp initialization
authorAlexander Kochetkov <al.kochet@gmail.com>
Thu, 3 Jul 2025 14:04:53 +0000 (17:04 +0300)
committerHeiko Stuebner <heiko@sntech.de>
Mon, 14 Jul 2025 13:38:40 +0000 (15:38 +0200)
commit7cdb433bb44cdc87dc5260cdf15bf03cc1cd1814
treec84bd27ae5fe5a81ce4f3cc2af96ee414d528da7
parent19272b37aa4f83ca52bdf9c16d5d81bdd1354494
ARM: rockchip: fix kernel hang during smp initialization

In order to bring up secondary CPUs main CPU write trampoline
code to SRAM. The trampoline code is written while secondary
CPUs are powered on (at least that true for RK3188 CPU).
Sometimes that leads to kernel hang. Probably because secondary
CPU execute trampoline code while kernel doesn't expect.

The patch moves SRAM initialization step to the point where all
secondary CPUs are powered down.

That fixes rarely hangs on RK3188:
[    0.091568] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.091996] rockchip_smp_prepare_cpus: ncores 4

Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Link: https://lore.kernel.org/r/20250703140453.1273027-1-al.kochet@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm/mach-rockchip/platsmp.c