Browse Source

ASoC: fsl: fsl_ssi: Fix the order of resources removal

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>
Signed-off-by: Mark Brown <broonie@linaro.org>
Fabio Estevam 12 years ago
parent
commit
0783e64898
1 changed files with 4 additions and 4 deletions
  1. 4 4
      sound/soc/fsl/fsl_ssi.c

+ 4 - 4
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);
+	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);
-	dev_set_drvdata(&pdev->dev, NULL);
 
 	return 0;
 }