diff options
Diffstat (limited to 'arch/ia64/kernel/smpboot.c')
-rw-r--r-- | arch/ia64/kernel/smpboot.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c index b39853a292d5..d8f05e504fbf 100644 --- a/arch/ia64/kernel/smpboot.c +++ b/arch/ia64/kernel/smpboot.c | |||
@@ -138,6 +138,7 @@ cpumask_t cpu_possible_map = CPU_MASK_NONE; | |||
138 | EXPORT_SYMBOL(cpu_possible_map); | 138 | EXPORT_SYMBOL(cpu_possible_map); |
139 | 139 | ||
140 | cpumask_t cpu_core_map[NR_CPUS] __cacheline_aligned; | 140 | cpumask_t cpu_core_map[NR_CPUS] __cacheline_aligned; |
141 | EXPORT_SYMBOL(cpu_core_map); | ||
141 | DEFINE_PER_CPU_SHARED_ALIGNED(cpumask_t, cpu_sibling_map); | 142 | DEFINE_PER_CPU_SHARED_ALIGNED(cpumask_t, cpu_sibling_map); |
142 | EXPORT_PER_CPU_SYMBOL(cpu_sibling_map); | 143 | EXPORT_PER_CPU_SYMBOL(cpu_sibling_map); |
143 | 144 | ||
@@ -740,16 +741,14 @@ int __cpu_disable(void) | |||
740 | return -EBUSY; | 741 | return -EBUSY; |
741 | } | 742 | } |
742 | 743 | ||
743 | cpu_clear(cpu, cpu_online_map); | ||
744 | |||
745 | if (migrate_platform_irqs(cpu)) { | 744 | if (migrate_platform_irqs(cpu)) { |
746 | cpu_set(cpu, cpu_online_map); | 745 | cpu_set(cpu, cpu_online_map); |
747 | return (-EBUSY); | 746 | return (-EBUSY); |
748 | } | 747 | } |
749 | 748 | ||
750 | remove_siblinginfo(cpu); | 749 | remove_siblinginfo(cpu); |
751 | cpu_clear(cpu, cpu_online_map); | ||
752 | fixup_irqs(); | 750 | fixup_irqs(); |
751 | cpu_clear(cpu, cpu_online_map); | ||
753 | local_flush_tlb_all(); | 752 | local_flush_tlb_all(); |
754 | cpu_clear(cpu, cpu_callin_map); | 753 | cpu_clear(cpu, cpu_callin_map); |
755 | return 0; | 754 | return 0; |