mirror of
https://github.com/torvalds/linux.git
synced 2024-12-21 02:21:36 +00:00
ASoC: max98090: Fix missing free_irq
max98090.c doesn't free the threaded interrupt it requests. This causes an oops when doing "cat /proc/interrupts" after snd-soc-max98090.ko is unloaded. Fix this by requesting the interrupt by using devm_request_threaded_irq(). Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Cc: Stable <stable@vger.kernel.org> # 3.10+ Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
7171511eae
commit
4adeb0ccf8
@ -2284,7 +2284,7 @@ static int max98090_probe(struct snd_soc_codec *codec)
|
|||||||
/* Register for interrupts */
|
/* Register for interrupts */
|
||||||
dev_dbg(codec->dev, "irq = %d\n", max98090->irq);
|
dev_dbg(codec->dev, "irq = %d\n", max98090->irq);
|
||||||
|
|
||||||
ret = request_threaded_irq(max98090->irq, NULL,
|
ret = devm_request_threaded_irq(codec->dev, max98090->irq, NULL,
|
||||||
max98090_interrupt, IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
|
max98090_interrupt, IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
|
||||||
"max98090_interrupt", codec);
|
"max98090_interrupt", codec);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user