Thread (96 messages) 96 messages, 12 authors, 2009-07-22
STALE6157d

[PATCH] genirq: assert that irq handlers are indeed run in hardirq context.

From: Peter Zijlstra <hidden>
Date: 2009-03-02 15:14:37
Also in: lkml
Subsystem: irq subsystem, the rest · Maintainers: Thomas Gleixner, Linus Torvalds

On Fri, 2009-02-27 at 15:18 -0800, David Brownell wrote:
But these handlers are *NOT* running in hardirq context;
Ah, let us stop this tinkering dead in its tracks

Signed-off-by: Peter Zijlstra <redacted>
---
 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 c87d146..b75d73b 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -354,6 +354,8 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)
 	irqreturn_t ret, retval = IRQ_NONE;
 	unsigned int status = 0;
 
+	BUG_ON(!in_irq());
+
 	if (!(action->flags & IRQF_DISABLED))
 		local_irq_enable_in_hardirq();
 

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help