ASoC: twl6040: Pass the IRQF_ONESHOT flag
authorFabio Estevam <fabio.estevam@freescale.com>
Tue, 12 May 2015 04:22:59 +0000 (01:22 -0300)
committerMark Brown <broonie@kernel.org>
Tue, 12 May 2015 18:47:47 +0000 (19:47 +0100)
Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("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.

The semantic patch that makes this change is available
in scripts/coccinelle/misc/irqf_oneshot.cocci.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/twl6040.c

index aeec27b6f1af76aca729aacd35e872b01eb05362..ca117fc9ca0d96119fb68950ea364df380e6098b 100644 (file)
@@ -1123,7 +1123,8 @@ static int twl6040_probe(struct snd_soc_codec *codec)
        mutex_init(&priv->mutex);
 
        ret = request_threaded_irq(priv->plug_irq, NULL,
-                                       twl6040_audio_handler, IRQF_NO_SUSPEND,
+                                       twl6040_audio_handler,
+                                       IRQF_NO_SUSPEND | IRQF_ONESHOT,
                                        "twl6040_irq_plug", codec);
        if (ret) {
                dev_err(codec->dev, "PLUG IRQ request failed: %d\n", ret);