If handler and thread_fn have valid function pointers for each in request_thread_irq(), IRQF_ONESHOT is set unnecessarily in irq_setup_forces_threading() in case of threadirqs. As this result, the IRQ handler will not be called.
Signed-off-by: Kohji Okuno <okuno.ko...@jp.panasonic.com> --- kernel/irq/manage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index f9a59f6..759ce0f 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -991,12 +991,12 @@ static void irq_setup_forced_threading(struct irqaction *new) if (new->flags & (IRQF_NO_THREAD | IRQF_PERCPU | IRQF_ONESHOT)) return; - new->flags |= IRQF_ONESHOT; if (!new->thread_fn) { set_bit(IRQTF_FORCED_THREAD, &new->thread_flags); new->thread_fn = new->handler; new->handler = irq_default_primary_handler; + new->flags |= IRQF_ONESHOT; } } -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/