diff options
author | Jarkko Nikula <jarkko.nikula@linux.intel.com> | 2014-06-19 02:32:05 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-06-19 05:57:00 -0400 |
commit | 4adeb0ccf86a5af1825bbfe290dee9e60a5ab870 (patch) | |
tree | 7c5c156dd2a6953a3366654247f65e307b6e7a3a | |
parent | 7171511eaec5bf23fb06078f59784a3a0626b38f (diff) |
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>
-rw-r--r-- | sound/soc/codecs/max98090.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c index f5fccc7a8e89..d97f1ce7ff7d 100644 --- a/sound/soc/codecs/max98090.c +++ b/sound/soc/codecs/max98090.c | |||
@@ -2284,7 +2284,7 @@ static int max98090_probe(struct snd_soc_codec *codec) | |||
2284 | /* Register for interrupts */ | 2284 | /* Register for interrupts */ |
2285 | dev_dbg(codec->dev, "irq = %d\n", max98090->irq); | 2285 | dev_dbg(codec->dev, "irq = %d\n", max98090->irq); |
2286 | 2286 | ||
2287 | ret = request_threaded_irq(max98090->irq, NULL, | 2287 | ret = devm_request_threaded_irq(codec->dev, max98090->irq, NULL, |
2288 | max98090_interrupt, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, | 2288 | max98090_interrupt, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, |
2289 | "max98090_interrupt", codec); | 2289 | "max98090_interrupt", codec); |
2290 | if (ret < 0) { | 2290 | if (ret < 0) { |