ASoC: fsi: driver safely remove for against irq
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 8 Apr 2011 06:09:25 +0000 (15:09 +0900)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 11 Apr 2011 20:14:41 +0000 (13:14 -0700)
free_irq and pm_runtime_disable should be called before
snd_soc_unregister_xxx

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/sh/fsi.c

index 8071bc68560d3c7f7907c0e776fa0d6b952ea6fe..5843158953937e32829084e49a2e272bd083c259 100644 (file)
@@ -1248,12 +1248,11 @@ static int fsi_remove(struct platform_device *pdev)
 
        master = dev_get_drvdata(&pdev->dev);
 
-       snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(fsi_soc_dai));
-       snd_soc_unregister_platform(&pdev->dev);
-
+       free_irq(master->irq, master);
        pm_runtime_disable(&pdev->dev);
 
-       free_irq(master->irq, master);
+       snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(fsi_soc_dai));
+       snd_soc_unregister_platform(&pdev->dev);
 
        iounmap(master->base);
        kfree(master);