diff options
author | Fabio Estevam <fabio.estevam@freescale.com> | 2015-05-12 00:22:56 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-05-12 14:45:38 -0400 |
commit | ed043aebe6ece3e13a02b6574447f150c3557378 (patch) | |
tree | 30e927a5c0a1c0608d819160a3abe63f24fd7da7 | |
parent | b787f68c36d49bb1d9236f403813641efa74a031 (diff) |
ASoC: wm8996: Pass the IRQF_ONESHOT flag
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>
-rw-r--r-- | sound/soc/codecs/wm8996.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/codecs/wm8996.c b/sound/soc/codecs/wm8996.c index 308748a022c5..95bcc738398d 100644 --- a/sound/soc/codecs/wm8996.c +++ b/sound/soc/codecs/wm8996.c | |||
@@ -2646,10 +2646,12 @@ static int wm8996_probe(struct snd_soc_codec *codec) | |||
2646 | if (irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING)) | 2646 | if (irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING)) |
2647 | ret = request_threaded_irq(i2c->irq, NULL, | 2647 | ret = request_threaded_irq(i2c->irq, NULL, |
2648 | wm8996_edge_irq, | 2648 | wm8996_edge_irq, |
2649 | irq_flags, "wm8996", codec); | 2649 | irq_flags | IRQF_ONESHOT, |
2650 | "wm8996", codec); | ||
2650 | else | 2651 | else |
2651 | ret = request_threaded_irq(i2c->irq, NULL, wm8996_irq, | 2652 | ret = request_threaded_irq(i2c->irq, NULL, wm8996_irq, |
2652 | irq_flags, "wm8996", codec); | 2653 | irq_flags | IRQF_ONESHOT, |
2654 | "wm8996", codec); | ||
2653 | 2655 | ||
2654 | if (ret == 0) { | 2656 | if (ret == 0) { |
2655 | /* Unmask the interrupt */ | 2657 | /* Unmask the interrupt */ |