diff options
Diffstat (limited to 'arch/ppc64/kernel/pSeries_smp.c')
-rw-r--r-- | arch/ppc64/kernel/pSeries_smp.c | 5 |
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 | ||
94 | int pSeries_cpu_disable(void) | 94 | int 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 */ |