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 <[email protected]>
Signed-off-by: Valentin Rothberg <[email protected]>
---
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);
On Wed, Dec 02, 2015 at 09:43:10AM +0100, Valentin Rothberg wrote:
> 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 <[email protected]>
> Signed-off-by: Valentin Rothberg <[email protected]>
> ---
>
> The patch looks fine to me: bad things can happen when interrupts are
> acked before the handler ran.
Hi,
Applied. Thanks.
-Olof