From: William Lee Irwin III An analysis of the code determined that AP initialization called init_idle() no less than three times, 2 out of the three with incorrect numbers of arguments. This patch removes the superfluous calls. Signed-off-by: Andrew Morton --- 25-akpm/arch/sparc/kernel/sun4d_smp.c | 2 -- 25-akpm/arch/sparc/kernel/sun4m_smp.c | 2 -- 25-akpm/arch/sparc/kernel/trampoline.S | 2 -- 3 files changed, 6 deletions(-) diff -puN arch/sparc/kernel/sun4d_smp.c~sparc32-init_idle arch/sparc/kernel/sun4d_smp.c --- 25/arch/sparc/kernel/sun4d_smp.c~sparc32-init_idle 2004-08-04 22:37:29.865822672 -0700 +++ 25-akpm/arch/sparc/kernel/sun4d_smp.c 2004-08-04 22:37:29.874821304 -0700 @@ -100,8 +100,6 @@ void __init smp4d_callin(void) * the SMP initialization the master will be just allowed * to call the scheduler code. */ - init_idle(); - /* Get our local ticker going. */ smp_setup_percpu_timer(); diff -puN arch/sparc/kernel/sun4m_smp.c~sparc32-init_idle arch/sparc/kernel/sun4m_smp.c --- 25/arch/sparc/kernel/sun4m_smp.c~sparc32-init_idle 2004-08-04 22:37:29.867822368 -0700 +++ 25-akpm/arch/sparc/kernel/sun4m_smp.c 2004-08-04 22:37:29.873821456 -0700 @@ -95,8 +95,6 @@ void __init smp4m_callin(void) * the SMP initialization the master will be just allowed * to call the scheduler code. */ - init_idle(); - /* Allow master to continue. */ swap((unsigned long *)&cpu_callin_map[cpuid], 1); diff -puN arch/sparc/kernel/trampoline.S~sparc32-init_idle arch/sparc/kernel/trampoline.S --- 25/arch/sparc/kernel/trampoline.S~sparc32-init_idle 2004-08-04 22:37:29.869822064 -0700 +++ 25-akpm/arch/sparc/kernel/trampoline.S 2004-08-04 22:37:29.874821304 -0700 @@ -88,8 +88,6 @@ cpu3_startup: .align 4 smp_do_cpu_idle: - call init_idle - nop call cpu_idle mov 0, %o0 _