Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed043aeb authored by Fabio Estevam's avatar Fabio Estevam Committed by Mark Brown
Browse files

ASoC: wm8996: Pass the IRQF_ONESHOT flag



Since commit 1c6c6952 ("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: default avatarFabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent b787f68c
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -2646,10 +2646,12 @@ static int wm8996_probe(struct snd_soc_codec *codec)
		if (irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING))
		if (irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING))
			ret = request_threaded_irq(i2c->irq, NULL,
			ret = request_threaded_irq(i2c->irq, NULL,
						   wm8996_edge_irq,
						   wm8996_edge_irq,
						   irq_flags, "wm8996", codec);
						   irq_flags | IRQF_ONESHOT,
						   "wm8996", codec);
		else
		else
			ret = request_threaded_irq(i2c->irq, NULL, wm8996_irq,
			ret = request_threaded_irq(i2c->irq, NULL, wm8996_irq,
						   irq_flags, "wm8996", codec);
						   irq_flags | IRQF_ONESHOT,
						   "wm8996", codec);


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