From: Jarkko Nikula Date: Thu, 19 Jun 2014 06:32:05 +0000 (+0300) Subject: ASoC: max98090: Fix missing free_irq X-Git-Tag: submit/tizen/20160422.055611~1^2~99^2~18^2~473 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e9d0913e1754d5d0489767e03e4311ceff53891d;p=sdk%2Femulator%2Femulator-kernel.git ASoC: max98090: Fix missing free_irq commit 4adeb0ccf86a5af1825bbfe290dee9e60a5ab870 upstream. 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 Signed-off-by: Mark Brown Signed-off-by: Greg Kroah-Hartman --- diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c index b3f7c9026a29..ddfb0fddd030 100644 --- a/sound/soc/codecs/max98090.c +++ b/sound/soc/codecs/max98090.c @@ -2250,7 +2250,7 @@ static int max98090_probe(struct snd_soc_codec *codec) /* Register for interrupts */ 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", codec); if (ret < 0) {