realtek: fix SMP startup
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Mon, 26 Sep 2022 06:46:08 +0000 (08:46 +0200)
committerSander Vanheule <sander@svanheule.net>
Sat, 1 Oct 2022 07:22:32 +0000 (09:22 +0200)
The scope of the SMP startup structure is wrong. It is created on the
stack and not as a global variable. This can lead to startup failures.

Fixes: 3f41360eb70c ("realtek: use upstream recommendation for CPU start")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de
target/linux/realtek/files-5.10/arch/mips/rtl838x/prom.c

index ae768f93389d2f1e2fadc5c7c42b94e569ff5a67..3282a9c38fc8b8870b32f7a2a1e502cb7fc6432a 100644 (file)
@@ -31,6 +31,7 @@ const void *fdt;
 
 #ifdef CONFIG_MIPS_MT_SMP
 extern const struct plat_smp_ops vsmp_smp_ops;
+static struct plat_smp_ops rtl_smp_ops;
 
 static void rtl_init_secondary(void)
 {
@@ -220,8 +221,6 @@ void __init prom_init(void)
 
 #ifdef CONFIG_MIPS_MT_SMP
        if (cpu_has_mipsmt) {
-               struct plat_smp_ops rtl_smp_ops;
-
                rtl_smp_ops = vsmp_smp_ops;
                rtl_smp_ops.init_secondary = rtl_init_secondary;
                register_smp_ops(&rtl_smp_ops);