diff options
author | Tony Luck <tony.luck@intel.com> | 2006-10-06 10:09:41 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2006-10-06 10:09:41 -0700 |
commit | 8c1addbc752660e95bbf2128d66b8e5bb38d5fc7 (patch) | |
tree | 2a04171d9392abd8935224616cff8109e3e8ea48 /arch/ia64/kernel/irq_ia64.c | |
parent | 49f19ce401edfff937c448dd74c22497da361889 (diff) | |
download | talos-obmc-linux-8c1addbc752660e95bbf2128d66b8e5bb38d5fc7.tar.gz talos-obmc-linux-8c1addbc752660e95bbf2128d66b8e5bb38d5fc7.zip |
[IA64] Fix breakage from irq change
A few missed spots in ia64-land from this gigantic commit:
7d12e780e003f93433d49ce78cfedf4b4c52adc5
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/kernel/irq_ia64.c')
-rw-r--r-- | arch/ia64/kernel/irq_ia64.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index 7fd3ef9e064d..68339dd0c9e2 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c @@ -226,6 +226,8 @@ void ia64_process_pending_intr(void) */ while (vector != IA64_SPURIOUS_INT_VECTOR) { if (!IS_RESCHEDULE(vector)) { + struct pt_regs *old_regs = set_irq_regs(NULL); + ia64_setreg(_IA64_REG_CR_TPR, vector); ia64_srlz_d(); @@ -236,7 +238,8 @@ void ia64_process_pending_intr(void) * Probably could shared code. */ vectors_in_migration[local_vector_to_irq(vector)]=0; - __do_IRQ(local_vector_to_irq(vector), NULL); + __do_IRQ(local_vector_to_irq(vector)); + set_irq_regs(old_regs); /* * Disable interrupts and send EOI @@ -253,7 +256,7 @@ void ia64_process_pending_intr(void) #ifdef CONFIG_SMP -extern irqreturn_t handle_IPI (int irq, void *dev_id, struct pt_regs *regs); +extern irqreturn_t handle_IPI (int irq, void *dev_id); static struct irqaction ipi_irqaction = { .handler = handle_IPI, |