From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Date: Tue, 31 May 2011 06:56:10 +0000 (+0200)
Subject: genirq: Print threaded handler in spurious debug output
X-Git-Tag: v3.0-rc3~38^2~3
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=ef26f20cd117;p=linux.git

genirq: Print threaded handler in spurious debug output

In forced threaded mode (or with an explicit threaded handler) we only
see the primary handler, but not the threaded handler.

Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Link: http://lkml.kernel.org/r/1306824972-27067-1-git-send-email-sebastian@breakpoint.cc
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---

diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c
index dfbd550401b2..c9a78ba30b6f 100644
--- a/kernel/irq/spurious.c
+++ b/kernel/irq/spurious.c
@@ -201,10 +201,11 @@ __report_bad_irq(unsigned int irq, struct irq_desc *desc,
 	raw_spin_lock_irqsave(&desc->lock, flags);
 	action = desc->action;
 	while (action) {
-		printk(KERN_ERR "[<%p>]", action->handler);
-		print_symbol(" (%s)",
-			(unsigned long)action->handler);
-		printk("\n");
+		printk(KERN_ERR "[<%p>] %pf", action->handler, action->handler);
+		if (action->thread_fn)
+			printk(KERN_CONT " threaded [<%p>] %pf",
+					action->thread_fn, action->thread_fn);
+		printk(KERN_CONT "\n");
 		action = action->next;
 	}
 	raw_spin_unlock_irqrestore(&desc->lock, flags);