MIPS: Malta: Fix crash in SMP kernel on non-CMP systems.
[pandora-kernel.git] / arch / mips / mipssim / sim_setup.c
index 55f22a3..1970069 100644 (file)
@@ -59,18 +59,17 @@ void __init prom_init(void)
 
        prom_meminit();
 
-#ifdef CONFIG_MIPS_MT_SMP
-       if (cpu_has_mipsmt)
-               register_smp_ops(&vsmp_smp_ops);
-       else
-               register_smp_ops(&up_smp_ops);
-#endif
+       if (cpu_has_mipsmt) {
+               if (!register_vsmp_smp_ops())
+                       return;
+
 #ifdef CONFIG_MIPS_MT_SMTC
-       if (cpu_has_mipsmt)
                register_smp_ops(&ssmtc_smp_ops);
-       else
-               register_smp_ops(&up_smp_ops);
+                       return;
 #endif
+       }
+
+       register_up_smp_ops();
 }
 
 static void __init serial_init(void)