Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
threaded IRQs without a primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail.

So pass the IRQF_ONESHOT flag in this case.

Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci

Signed-off-by: Fengguang Wu <fengguang...@intel.com>
Signed-off-by: Valentin Rothberg <valentinrothb...@gmail.com>
---

The patch looks fine to me: bad things can happen when interrupts are
acked before the handler ran.

 exynos_adc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/iio/adc/exynos_adc.c
+++ b/drivers/iio/adc/exynos_adc.c
@@ -739,7 +739,7 @@ static int exynos_adc_ts_init(struct exy
 
        disable_irq(info->tsirq);
        ret = request_threaded_irq(info->tsirq, NULL, exynos_ts_isr,
-                                  0, "touchscreen", info);
+                                  IRQF_ONESHOT, "touchscreen", info);
        if (ret)
                input_unregister_device(info->input);
 

--
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/

Reply via email to