diff options
Diffstat (limited to 'arch/alpha/kernel/irq_alpha.c')
-rw-r--r-- | arch/alpha/kernel/irq_alpha.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/alpha/kernel/irq_alpha.c b/arch/alpha/kernel/irq_alpha.c index d14cc423aa48..51d66b7f99e3 100644 --- a/arch/alpha/kernel/irq_alpha.c +++ b/arch/alpha/kernel/irq_alpha.c | |||
@@ -52,6 +52,7 @@ do_entInt(unsigned long type, unsigned long vector, | |||
52 | #endif | 52 | #endif |
53 | break; | 53 | break; |
54 | case 1: | 54 | case 1: |
55 | old_regs = set_irq_regs(regs); | ||
55 | #ifdef CONFIG_SMP | 56 | #ifdef CONFIG_SMP |
56 | { | 57 | { |
57 | long cpu; | 58 | long cpu; |
@@ -62,12 +63,13 @@ do_entInt(unsigned long type, unsigned long vector, | |||
62 | if (cpu != boot_cpuid) { | 63 | if (cpu != boot_cpuid) { |
63 | kstat_cpu(cpu).irqs[RTC_IRQ]++; | 64 | kstat_cpu(cpu).irqs[RTC_IRQ]++; |
64 | } else { | 65 | } else { |
65 | handle_irq(RTC_IRQ, regs); | 66 | handle_irq(RTC_IRQ); |
66 | } | 67 | } |
67 | } | 68 | } |
68 | #else | 69 | #else |
69 | handle_irq(RTC_IRQ, regs); | 70 | handle_irq(RTC_IRQ); |
70 | #endif | 71 | #endif |
72 | set_irq_regs(old_regs); | ||
71 | return; | 73 | return; |
72 | case 2: | 74 | case 2: |
73 | alpha_mv.machine_check(vector, la_ptr, regs); | 75 | alpha_mv.machine_check(vector, la_ptr, regs); |