aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/smp.c')
-rw-r--r--arch/powerpc/kernel/smp.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 981360509172..1c9956c43801 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -502,7 +502,7 @@ static struct device_node *cpu_to_l2cache(int cpu)
502} 502}
503 503
504/* Activate a secondary processor. */ 504/* Activate a secondary processor. */
505int __devinit start_secondary(void *unused) 505void __devinit start_secondary(void *unused)
506{ 506{
507 unsigned int cpu = smp_processor_id(); 507 unsigned int cpu = smp_processor_id();
508 struct device_node *l2_cache; 508 struct device_node *l2_cache;
@@ -558,7 +558,8 @@ int __devinit start_secondary(void *unused)
558 local_irq_enable(); 558 local_irq_enable();
559 559
560 cpu_idle(); 560 cpu_idle();
561 return 0; 561
562 BUG();
562} 563}
563 564
564int setup_profiling_timer(unsigned int multiplier) 565int setup_profiling_timer(unsigned int multiplier)
@@ -660,5 +661,9 @@ void cpu_die(void)
660{ 661{
661 if (ppc_md.cpu_die) 662 if (ppc_md.cpu_die)
662 ppc_md.cpu_die(); 663 ppc_md.cpu_die();
664
665 /* If we return, we re-enter start_secondary */
666 start_secondary_resume();
663} 667}
668
664#endif 669#endif