diff options
| author | Yong Zhang <yong.zhang@windriver.com> | 2012-07-19 03:13:53 -0400 |
|---|---|---|
| committer | Ralf Baechle <ralf@linux-mips.org> | 2012-07-19 05:23:44 -0400 |
| commit | 70dc8fa782efa2faa82ecec0f250223e1d773a47 (patch) | |
| tree | 6bf3e30e16d14b10152450105e22d48318e17a6f | |
| parent | 856ac3c6e0c4cb566014edf5fa185b962298db88 (diff) | |
MIPS: SMTC: delay irq enable to ->smp_finish()
To prepare for smoothing set_cpu_[active|online]() mess up
Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Cc: Sergei Shtylyov <sshtylyov@mvista.com>
Cc: David Daney <david.daney@cavium.com>
Acked-by: David Daney <david.daney@cavium.com>
Patchwork: https://patchwork.linux-mips.org/patch/3847/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| -rw-r--r-- | arch/mips/kernel/smtc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c index b450ea529ddf..15b5f3cfd20c 100644 --- a/arch/mips/kernel/smtc.c +++ b/arch/mips/kernel/smtc.c | |||
| @@ -615,7 +615,6 @@ void __cpuinit smtc_boot_secondary(int cpu, struct task_struct *idle) | |||
| 615 | 615 | ||
| 616 | void smtc_init_secondary(void) | 616 | void smtc_init_secondary(void) |
| 617 | { | 617 | { |
| 618 | local_irq_enable(); | ||
| 619 | } | 618 | } |
| 620 | 619 | ||
| 621 | void smtc_smp_finish(void) | 620 | void smtc_smp_finish(void) |
| @@ -631,6 +630,8 @@ void smtc_smp_finish(void) | |||
| 631 | if (cpu > 0 && (cpu_data[cpu].vpe_id != cpu_data[cpu - 1].vpe_id)) | 630 | if (cpu > 0 && (cpu_data[cpu].vpe_id != cpu_data[cpu - 1].vpe_id)) |
| 632 | write_c0_compare(read_c0_count() + mips_hpt_frequency/HZ); | 631 | write_c0_compare(read_c0_count() + mips_hpt_frequency/HZ); |
| 633 | 632 | ||
| 633 | local_irq_enable(); | ||
| 634 | |||
| 634 | printk("TC %d going on-line as CPU %d\n", | 635 | printk("TC %d going on-line as CPU %d\n", |
| 635 | cpu_data[smp_processor_id()].tc_id, smp_processor_id()); | 636 | cpu_data[smp_processor_id()].tc_id, smp_processor_id()); |
| 636 | } | 637 | } |
