linux/arch
Alexander Kochetkov 265583266d ARM: rockchip: fix kernel hang during smp initialization
[ Upstream commit 7cdb433bb4 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-08-28 16:25:52 +02:00
..
alpha alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support 2025-03-28 21:58:51 +01:00
arc ARC: build: Try to guess GCC variant of cross compiler 2025-01-09 13:30:05 +01:00
arm ARM: rockchip: fix kernel hang during smp initialization 2025-08-28 16:25:52 +02:00
arm64 arm64: Handle KCOV __init vs inline mismatches 2025-08-28 16:25:51 +02:00
csky mm: remove kern_addr_valid() completely 2024-11-08 16:26:39 +01:00
hexagon hexagon: Fix unbalanced spinlock in die() 2025-02-21 13:49:25 +01:00
ia64 mm: remove kern_addr_valid() completely 2024-11-08 16:26:39 +01:00
loongarch LoongArch: BPF: Fix jump offset calculation in tailcall 2025-08-28 16:25:49 +02:00
m68k m68k: Don't unregister boot console needlessly 2025-08-15 12:04:57 +02:00
microblaze microblaze: Export xmb_manager functions 2024-12-14 19:53:20 +01:00
mips MIPS: mm: tlb-r4k: Uniquify TLB entries on init 2025-08-15 12:05:13 +02:00
nios2 mm: remove kern_addr_valid() completely 2024-11-08 16:26:39 +01:00
openrisc mm: remove kern_addr_valid() completely 2024-11-08 16:26:39 +01:00
parisc parisc: fix building with gcc-15 2025-06-27 11:07:29 +01:00
powerpc PCI: pnv_php: Fix surprise plug detection and recovery 2025-08-15 12:05:08 +02:00
riscv RISC-V: KVM: Don't treat SBI HFENCE calls as NOPs 2025-06-27 11:07:41 +01:00
s390 s390/pci: Do not try re-enabling load/store if device is disabled 2025-07-10 15:59:43 +02:00
sh sh: Do not use hyphen in exported variable name 2025-08-15 12:05:04 +02:00
sparc sparc/mm: disable preemption in lazy mmu mode 2025-04-25 10:43:42 +02:00
um um: rtc: Avoid shadowing err in uml_rtc_start() 2025-08-15 12:04:58 +02:00
x86 KVM: VMX: Preserve host's DEBUGCTLMSR_FREEZE_IN_SMM while running the guest 2025-08-28 16:25:50 +02:00
xtensa mm: remove kern_addr_valid() completely 2024-11-08 16:26:39 +01:00
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
Kconfig Revert "mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default" 2024-06-27 13:46:24 +02:00