aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/kernel/pSeries_smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ppc64/kernel/pSeries_smp.c')
-rw-r--r--arch/ppc64/kernel/pSeries_smp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/ppc64/kernel/pSeries_smp.c b/arch/ppc64/kernel/pSeries_smp.c
index 30154140f7e2..62c55a123560 100644
--- a/arch/ppc64/kernel/pSeries_smp.c
+++ b/arch/ppc64/kernel/pSeries_smp.c
@@ -93,10 +93,13 @@ static int query_cpu_stopped(unsigned int pcpu)
93 93
94int pSeries_cpu_disable(void) 94int pSeries_cpu_disable(void)
95{ 95{
96 int cpu = smp_processor_id();
97
98 cpu_clear(cpu, cpu_online_map);
96 systemcfg->processorCount--; 99 systemcfg->processorCount--;
97 100
98 /*fix boot_cpuid here*/ 101 /*fix boot_cpuid here*/
99 if (smp_processor_id() == boot_cpuid) 102 if (cpu == boot_cpuid)
100 boot_cpuid = any_online_cpu(cpu_online_map); 103 boot_cpuid = any_online_cpu(cpu_online_map);
101 104
102 /* FIXME: abstract this to not be platform specific later on */ 105 /* FIXME: abstract this to not be platform specific later on */