summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@HansenPartnership.com>2010-12-03 02:36:47 +0300
committerKyle McMartin <kyle@mcmartin.ca>2010-12-04 19:14:32 +0300
commitd16cd297d288e48482c3c261db434a2e13bd9f20 (patch)
tree83d7b45f4a1d8a62e51f730283dd443c8a0a5492
parent67bace72ee64f6a11cfb914b91d9d6bd47e80ed8 (diff)
downloadlinux-d16cd297d288e48482c3c261db434a2e13bd9f20.tar.xz
parisc: fix dino/gsc interrupts
The essential problem we're currently having is that dino (and gsc) is a cascaded CPU interrupt. Under the old __do_IRQ() handler, our CPU interrupts basically did an ack followed by an end. In the new scheme, we replaced them with level handlers which do a mask, an ack and then an unmask (but no end). Instead, with the renaming of end to eoi, we actually want to call the percpu flow handlers, because they actually have all the characteristics we want. This patch does the conversion and gets my C360 booting again. Signed-off-by: James Bottomley <James.Bottomley@suse.de> Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
-rw-r--r--arch/parisc/kernel/irq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
index 5024f643b3b1..48aa71106db8 100644
--- a/arch/parisc/kernel/irq.c
+++ b/arch/parisc/kernel/irq.c
@@ -392,7 +392,7 @@ static void claim_cpu_irqs(void)
int i;
for (i = CPU_IRQ_BASE; i <= CPU_IRQ_MAX; i++) {
set_irq_chip_and_handler(i, &cpu_interrupt_type,
- handle_level_irq);
+ handle_percpu_irq);
}
set_irq_handler(TIMER_IRQ, handle_percpu_irq);