mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
ASoC: omap-mcpdm: Fix irq resource handling
commita871967068upstream. Fixes:ddd17531ad("ASoC: omap-mcpdm: Clean up with devm_* function") Managed irq request will not doing any good in ASoC probe level as it is not going to free up the irq when the driver is unbound from the sound card. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Reported-by: Russell King <linux@armlinux.org.uk> Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
70cd763eb1
commit
aa9d22b8bd
@@ -390,8 +390,8 @@ static int omap_mcpdm_probe(struct snd_soc_dai *dai)
|
||||
pm_runtime_get_sync(mcpdm->dev);
|
||||
omap_mcpdm_write(mcpdm, MCPDM_REG_CTRL, 0x00);
|
||||
|
||||
ret = devm_request_irq(mcpdm->dev, mcpdm->irq, omap_mcpdm_irq_handler,
|
||||
0, "McPDM", (void *)mcpdm);
|
||||
ret = request_irq(mcpdm->irq, omap_mcpdm_irq_handler, 0, "McPDM",
|
||||
(void *)mcpdm);
|
||||
|
||||
pm_runtime_put_sync(mcpdm->dev);
|
||||
|
||||
@@ -416,6 +416,7 @@ static int omap_mcpdm_remove(struct snd_soc_dai *dai)
|
||||
{
|
||||
struct omap_mcpdm *mcpdm = snd_soc_dai_get_drvdata(dai);
|
||||
|
||||
free_irq(mcpdm->irq, (void *)mcpdm);
|
||||
pm_runtime_disable(mcpdm->dev);
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user