Messages in this thread Patch in this message | | | From | Kohji Okuno <> | Subject | [PATCH] genirq: Fix bad IRQ_ONSHOT in forced IRQ setting | Date | Thu, 17 Sep 2015 16:13:47 +0900 |
| |
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.kohji@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
| |