ASoC: wm8994: Pass the IRQF_ONESHOT flag
authorFabio Estevam <fabio.estevam@freescale.com>
Tue, 12 May 2015 04:22:58 +0000 (01:22 -0300)
committerMark Brown <broonie@kernel.org>
Tue, 12 May 2015 18:47:34 +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/wm8994.c

index 4fbc7689339a8903f724fa9aefcb6feb31dad54f..26f7f2f6a6403fa02321ab6b5c04e5f2c11e82d1 100644 (file)
@@ -4086,7 +4086,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
                if (wm8994->micdet_irq)
                        ret = request_threaded_irq(wm8994->micdet_irq, NULL,
                                                   wm8994_mic_irq,
-                                                  IRQF_TRIGGER_RISING,
+                                                  IRQF_TRIGGER_RISING |
+                                                  IRQF_ONESHOT,
                                                   "Mic1 detect",
                                                   wm8994);
                 else
@@ -4134,7 +4135,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
                if (wm8994->micdet_irq) {
                        ret = request_threaded_irq(wm8994->micdet_irq, NULL,
                                                   wm8958_mic_irq,
-                                                  IRQF_TRIGGER_RISING,
+                                                  IRQF_TRIGGER_RISING |
+                                                  IRQF_ONESHOT,
                                                   "Mic detect",
                                                   wm8994);
                        if (ret != 0)