Skip to content

Commit

Permalink
ASoC: wm8996: Pass the IRQF_ONESHOT flag
Browse files Browse the repository at this point in the history
Since commit 1c6c695 ("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>
  • Loading branch information
Fabio Estevam authored and Mark Brown committed May 12, 2015
1 parent b787f68 commit ed043ae
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions sound/soc/codecs/wm8996.c
Original file line number Diff line number Diff line change
Expand Up @@ -2646,10 +2646,12 @@ static int wm8996_probe(struct snd_soc_codec *codec)
if (irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING))
ret = request_threaded_irq(i2c->irq, NULL,
wm8996_edge_irq,
irq_flags, "wm8996", codec);
irq_flags | IRQF_ONESHOT,
"wm8996", codec);
else
ret = request_threaded_irq(i2c->irq, NULL, wm8996_irq,
irq_flags, "wm8996", codec);
irq_flags | IRQF_ONESHOT,
"wm8996", codec);

if (ret == 0) {
/* Unmask the interrupt */
Expand Down

0 comments on commit ed043ae

Please sign in to comment.