diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 3aba8d12f328ec91e59f5c72217ceb0c0d2fd0a1..a2ee682bca2eee1676386d7259093f7648f5008f 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c @@ -328,6 +328,8 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) irqreturn_t ret, retval = IRQ_NONE; unsigned int status = 0; + WARN_ONCE(!in_irq(), "BUG: IRQ handler called from non-hardirq context!"); + if (!(action->flags & IRQF_DISABLED)) local_irq_enable_in_hardirq();