diff options
| -rw-r--r-- | arch/mn10300/kernel/smp.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/mn10300/kernel/smp.c b/arch/mn10300/kernel/smp.c index 910dddf65e44..9cd69ad6aa02 100644 --- a/arch/mn10300/kernel/smp.c +++ b/arch/mn10300/kernel/smp.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/sched.h> | 24 | #include <linux/sched.h> |
| 25 | #include <linux/profile.h> | 25 | #include <linux/profile.h> |
| 26 | #include <linux/smp.h> | 26 | #include <linux/smp.h> |
| 27 | #include <linux/cpu.h> | ||
| 27 | #include <asm/tlbflush.h> | 28 | #include <asm/tlbflush.h> |
| 28 | #include <asm/bitops.h> | 29 | #include <asm/bitops.h> |
| 29 | #include <asm/processor.h> | 30 | #include <asm/processor.h> |
| @@ -38,7 +39,6 @@ | |||
| 38 | #include "internal.h" | 39 | #include "internal.h" |
| 39 | 40 | ||
| 40 | #ifdef CONFIG_HOTPLUG_CPU | 41 | #ifdef CONFIG_HOTPLUG_CPU |
| 41 | #include <linux/cpu.h> | ||
| 42 | #include <asm/cacheflush.h> | 42 | #include <asm/cacheflush.h> |
| 43 | 43 | ||
| 44 | static unsigned long sleep_mode[NR_CPUS]; | 44 | static unsigned long sleep_mode[NR_CPUS]; |
| @@ -874,10 +874,13 @@ static void __init smp_online(void) | |||
| 874 | 874 | ||
| 875 | cpu = smp_processor_id(); | 875 | cpu = smp_processor_id(); |
| 876 | 876 | ||
| 877 | local_irq_enable(); | 877 | notify_cpu_starting(cpu); |
| 878 | 878 | ||
| 879 | ipi_call_lock(); | ||
| 879 | set_cpu_online(cpu, true); | 880 | set_cpu_online(cpu, true); |
| 880 | smp_wmb(); | 881 | ipi_call_unlock(); |
| 882 | |||
| 883 | local_irq_enable(); | ||
| 881 | } | 884 | } |
| 882 | 885 | ||
| 883 | /** | 886 | /** |
