diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-15 02:13:28 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-15 02:13:28 (GMT) |
commit | 11b397e6eb12191300ca19290f29f51f61118953 (patch) | |
tree | 6e0f8cb52cbcdb02108755f3d643a025a943bd79 /arch/alpha/kernel/irq_alpha.c | |
parent | e1c969f7814dcd23bbfe8d777544321a492b6fee (diff) | |
parent | 41ef2d5678d83af030125550329b6ae8b74618fa (diff) | |
download | linux-11b397e6eb12191300ca19290f29f51f61118953.tar.xz |
Merge 3.9-rc7 intp tty-next
We want the fixes here.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/alpha/kernel/irq_alpha.c')
-rw-r--r-- | arch/alpha/kernel/irq_alpha.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/alpha/kernel/irq_alpha.c b/arch/alpha/kernel/irq_alpha.c index 772ddfdb..f433fc1 100644 --- a/arch/alpha/kernel/irq_alpha.c +++ b/arch/alpha/kernel/irq_alpha.c @@ -45,6 +45,14 @@ do_entInt(unsigned long type, unsigned long vector, unsigned long la_ptr, struct pt_regs *regs) { struct pt_regs *old_regs; + + /* + * Disable interrupts during IRQ handling. + * Note that there is no matching local_irq_enable() due to + * severe problems with RTI at IPL0 and some MILO PALcode + * (namely LX164). + */ + local_irq_disable(); switch (type) { case 0: #ifdef CONFIG_SMP @@ -62,7 +70,6 @@ do_entInt(unsigned long type, unsigned long vector, { long cpu; - local_irq_disable(); smp_percpu_timer_interrupt(regs); cpu = smp_processor_id(); if (cpu != boot_cpuid) { @@ -222,7 +229,6 @@ process_mcheck_info(unsigned long vector, unsigned long la_ptr, struct irqaction timer_irqaction = { .handler = timer_interrupt, - .flags = IRQF_DISABLED, .name = "timer", }; |