genirq: Make warning in handle_percpu_event useful
Thomas Gleixner [Fri, 25 Feb 2011 16:17:18 +0000 (17:17 +0100)]
The WARN_ON_ONCE in handle_percpu_event() which emits a warning when
an action handler returns with interrupts enabled is not really
useful. It does not reveal the interrupt number and handler function
which caused it. Make it WARN_ONCE() and add the information.

Reported-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

kernel/irq/handle.c

index e099e9e..b110c83 100644 (file)
@@ -64,7 +64,8 @@ handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action)
                res = action->handler(irq, action->dev_id);
                trace_irq_handler_exit(irq, action, res);
 
-               if (WARN_ON_ONCE(!irqs_disabled()))
+               if (WARN_ONCE(!irqs_disabled(),"irq %u handler %pF enabled interrupts\n",
+                             irq, action->handler))
                        local_irq_disable();
 
                switch (res) {