]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.7.7/asoc-omap-mcpdm-fix-irq-resource-handling.patch
fixes for 4.19
[thirdparty/kernel/stable-queue.git] / releases / 4.7.7 / asoc-omap-mcpdm-fix-irq-resource-handling.patch
CommitLineData
83f48a73
GKH
1From a8719670687c46ed2e904c0d05fa4cd7e4950cd1 Mon Sep 17 00:00:00 2001
2From: Peter Ujfalusi <peter.ujfalusi@ti.com>
3Date: Tue, 23 Aug 2016 10:27:19 +0300
4Subject: ASoC: omap-mcpdm: Fix irq resource handling
5
6From: Peter Ujfalusi <peter.ujfalusi@ti.com>
7
8commit a8719670687c46ed2e904c0d05fa4cd7e4950cd1 upstream.
9
10Fixes: ddd17531ad908 ("ASoC: omap-mcpdm: Clean up with devm_* function")
11
12Managed irq request will not doing any good in ASoC probe level as it is
13not going to free up the irq when the driver is unbound from the sound
14card.
15
16Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
17Reported-by: Russell King <linux@armlinux.org.uk>
18Signed-off-by: Mark Brown <broonie@kernel.org>
19Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20
21---
22 sound/soc/omap/omap-mcpdm.c | 5 +++--
23 1 file changed, 3 insertions(+), 2 deletions(-)
24
25--- a/sound/soc/omap/omap-mcpdm.c
26+++ b/sound/soc/omap/omap-mcpdm.c
27@@ -390,8 +390,8 @@ static int omap_mcpdm_probe(struct snd_s
28 pm_runtime_get_sync(mcpdm->dev);
29 omap_mcpdm_write(mcpdm, MCPDM_REG_CTRL, 0x00);
30
31- ret = devm_request_irq(mcpdm->dev, mcpdm->irq, omap_mcpdm_irq_handler,
32- 0, "McPDM", (void *)mcpdm);
33+ ret = request_irq(mcpdm->irq, omap_mcpdm_irq_handler, 0, "McPDM",
34+ (void *)mcpdm);
35
36 pm_runtime_put_sync(mcpdm->dev);
37
38@@ -416,6 +416,7 @@ static int omap_mcpdm_remove(struct snd_
39 {
40 struct omap_mcpdm *mcpdm = snd_soc_dai_get_drvdata(dai);
41
42+ free_irq(mcpdm->irq, (void *)mcpdm);
43 pm_runtime_disable(mcpdm->dev);
44
45 return 0;