diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-06-29 05:24:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-29 13:26:25 -0400 |
commit | 43f7775944e40221827e4b3aec43824aa4c4e4a9 (patch) | |
tree | 842490e2fe78b8676741d1b012a4256c2224685c /kernel/irq/handle.c | |
parent | f1c2662cbc6a0a9772655649bdf579803d33470b (diff) |
[PATCH] genirq: more verbose debugging on unexpected IRQ vectors
One frequent sign of IRQ handling bugs is the appearance of unexpected
vectors. Print out all the IRQ state in that case. We dont want this patch
upstream, but it is useful during initial testing.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/irq/handle.c')
-rw-r--r-- | kernel/irq/handle.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 01fc7f79d74a..5a360dd4331b 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
@@ -24,6 +24,7 @@ | |||
24 | void fastcall | 24 | void fastcall |
25 | handle_bad_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) | 25 | handle_bad_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) |
26 | { | 26 | { |
27 | print_irq_desc(irq, desc); | ||
27 | kstat_this_cpu.irqs[irq]++; | 28 | kstat_this_cpu.irqs[irq]++; |
28 | ack_bad_irq(irq); | 29 | ack_bad_irq(irq); |
29 | } | 30 | } |
@@ -61,6 +62,7 @@ struct irq_desc irq_desc[NR_IRQS] __cacheline_aligned = { | |||
61 | */ | 62 | */ |
62 | static void ack_bad(unsigned int irq) | 63 | static void ack_bad(unsigned int irq) |
63 | { | 64 | { |
65 | print_irq_desc(irq, irq_desc + irq); | ||
64 | ack_bad_irq(irq); | 66 | ack_bad_irq(irq); |
65 | } | 67 | } |
66 | 68 | ||