projects/linux·commit eff2c2f6

[PATCH] alpha: fix IRQ handling lockup

eff2c2f6 · Ivan Kokshaysky <[email protected]> · 2006-03-09 17:33:37 -08:00

Fix a lockup which was introduced during the conversion to the generic IRQ
framework.

Cc: Richard Henderson <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Commit
eff2c2f6f569267aa52e2431844cec30637d7ade
Parents
10ad1b73

Changes

1 files changed · +6 −1

FileStatusAddDelContent
arch/alpha/kernel/irq.cmodified+6−1View file

arch/alpha/kernel/irq.c

View file
diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c
index 9006063..da677f8 100644
--- a/arch/alpha/kernel/irq.c
+++ b/arch/alpha/kernel/irq.c
@@ -151,8 +151,13 @@ handle_irq(int irq, struct pt_regs * regs)
}
irq_enter();
+ /*
+ * __do_IRQ() must be called with IPL_MAX. Note that we do not
+ * explicitly enable interrupts afterwards - some MILO PALcode
+ * (namely LX164 one) seems to have severe problems with RTI
+ * at IPL 0.
+ */
local_irq_disable();
__do_IRQ(irq, regs);
- local_irq_enable();
irq_exit();
}