ASoC: max98095: Pass the IRQF_ONESHOT flag
authorFabio Estevam <fabio.estevam@freescale.com>
Tue, 12 May 2015 04:23:00 +0000 (01:23 -0300)
committerMark Brown <broonie@kernel.org>
Tue, 12 May 2015 18:48:24 +0000 (19:48 +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/max98095.c

index 8fba0c3..e451d1f 100644 (file)
@@ -2301,8 +2301,8 @@ static int max98095_probe(struct snd_soc_codec *codec)
                /* register an audio interrupt */
                ret = request_threaded_irq(client->irq, NULL,
                        max98095_report_jack,
-                       IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
-                       "max98095", codec);
+                       IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING |
+                       IRQF_ONESHOT, "max98095", codec);
                if (ret) {
                        dev_err(codec->dev, "Failed to request IRQ: %d\n", ret);
                        goto err_access;