From: Fabio Estevam fabio.estevam@freescale.com
In fsl_ssi_remove() we need to remove the resources in the opposite order that they were acquired in probe.
Signed-off-by: Fabio Estevam fabio.estevam@freescale.com --- sound/soc/fsl/fsl_ssi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c index 0c072ff..c8aee4e 100644 --- a/sound/soc/fsl/fsl_ssi.c +++ b/sound/soc/fsl/fsl_ssi.c @@ -928,14 +928,14 @@ static int fsl_ssi_remove(struct platform_device *pdev)
if (!ssi_private->new_binding) platform_device_unregister(ssi_private->pdev); - if (ssi_private->ssi_on_imx) { + if (ssi_private->ssi_on_imx) imx_pcm_dma_exit(pdev); - clk_disable_unprepare(ssi_private->clk); - } snd_soc_unregister_component(&pdev->dev); - device_remove_file(&pdev->dev, &ssi_private->dev_attr); - irq_dispose_mapping(ssi_private->irq); dev_set_drvdata(&pdev->dev, NULL); + device_remove_file(&pdev->dev, &ssi_private->dev_attr); + if (ssi_private->ssi_on_imx) + clk_disable_unprepare(ssi_private->clk); + irq_dispose_mapping(ssi_private->irq);
return 0; }