Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bec1b819 authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[ARM] Quieten spurious IRQ detection



Only issue a "nobody cared" warning after 99900 spurious interrupts.
This avoids the occasional spurious interrupt causing warnings, as
per x86.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 58e9ff56
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -305,14 +305,19 @@ report_bad_irq(unsigned int irq, struct pt_regs *regs, struct irqdesc *desc, int
	static int count = 100;
	struct irqaction *action;

	if (!count || noirqdebug)
	if (noirqdebug)
		return;

	count--;

	if (ret != IRQ_HANDLED && ret != IRQ_NONE) {
		if (!count)
			return;
		count--;
		printk("irq%u: bogus retval mask %x\n", irq, ret);
	} else {
		desc->irqs_unhandled++;
		if (desc->irqs_unhandled <= 99900)
			return;
		desc->irqs_unhandled = 0;
		printk("irq%u: nobody cared\n", irq);
	}
	show_regs(regs);
+1 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ struct irqdesc {
	unsigned int	noautoenable : 1;	/* don't automatically enable IRQ */
	unsigned int	unused   :25;

	unsigned int	irqs_unhandled;
	struct proc_dir_entry *procdir;

#ifdef CONFIG_SMP