aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kernel/smp.c')
-rw-r--r--arch/arm/kernel/smp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 2da087926ebe..0978282d5fc2 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -31,6 +31,7 @@
31#include <linux/irq_work.h> 31#include <linux/irq_work.h>
32 32
33#include <linux/atomic.h> 33#include <linux/atomic.h>
34#include <asm/bugs.h>
34#include <asm/smp.h> 35#include <asm/smp.h>
35#include <asm/cacheflush.h> 36#include <asm/cacheflush.h>
36#include <asm/cpu.h> 37#include <asm/cpu.h>
@@ -236,8 +237,6 @@ int __cpu_disable(void)
236 flush_cache_louis(); 237 flush_cache_louis();
237 local_flush_tlb_all(); 238 local_flush_tlb_all();
238 239
239 clear_tasks_mm_cpumask(cpu);
240
241 return 0; 240 return 0;
242} 241}
243 242
@@ -255,6 +254,7 @@ void __cpu_die(unsigned int cpu)
255 } 254 }
256 pr_debug("CPU%u: shutdown\n", cpu); 255 pr_debug("CPU%u: shutdown\n", cpu);
257 256
257 clear_tasks_mm_cpumask(cpu);
258 /* 258 /*
259 * platform_cpu_kill() is generally expected to do the powering off 259 * platform_cpu_kill() is generally expected to do the powering off
260 * and/or cutting of clocks to the dying CPU. Optionally, this may 260 * and/or cutting of clocks to the dying CPU. Optionally, this may
@@ -405,6 +405,9 @@ asmlinkage void secondary_start_kernel(void)
405 * before we continue - which happens after __cpu_up returns. 405 * before we continue - which happens after __cpu_up returns.
406 */ 406 */
407 set_cpu_online(cpu, true); 407 set_cpu_online(cpu, true);
408
409 check_other_bugs();
410
408 complete(&cpu_running); 411 complete(&cpu_running);
409 412
410 local_irq_enable(); 413 local_irq_enable();