diff options
| author | 2012-08-01 20:40:02 +1000 | |
|---|---|---|
| committer | 2012-08-01 20:40:02 +1000 | |
| commit | bb181e2e48f8c85db08c9cb015cbba9618dbf05c (patch) | |
| tree | 191bc24dd97bcb174535cc217af082f16da3b43d /arch/mips/kernel/smp.c | |
| parent | md/RAID1: Add missing case for attempting to repair known bad blocks. (diff) | |
| parent | dm raid: move sectors_per_dev calculation (diff) | |
| download | wireguard-linux-bb181e2e48f8c85db08c9cb015cbba9618dbf05c.tar.xz wireguard-linux-bb181e2e48f8c85db08c9cb015cbba9618dbf05c.zip | |
Merge commit 'c039c332f23e794deb6d6f37b9f07ff3b27fb2cf' into md
Pull in pre-requisites for adding raid10 support to dm-raid.
Diffstat (limited to '')
| -rw-r--r-- | arch/mips/kernel/smp.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index 48650c818040..1268392f1d27 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c @@ -122,13 +122,21 @@ asmlinkage __cpuinit void start_secondary(void) notify_cpu_starting(cpu); - mp_ops->smp_finish(); + set_cpu_online(cpu, true); + set_cpu_sibling_map(cpu); cpu_set(cpu, cpu_callin_map); synchronise_count_slave(); + /* + * irq will be enabled in ->smp_finish(), enabling it too early + * is dangerous. + */ + WARN_ON_ONCE(!irqs_disabled()); + mp_ops->smp_finish(); + cpu_idle(); } @@ -196,8 +204,6 @@ int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle) while (!cpu_isset(cpu, cpu_callin_map)) udelay(100); - set_cpu_online(cpu, true); - return 0; } |
