aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/sh/fsi.c
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2011-04-08 02:09:25 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-04-11 16:14:41 -0400
commitd985f27e13fe62e158a3416e3d8308ef1cf6028c (patch)
tree2db16dc5770a2ce875499e2b68e7c386064b28e8 /sound/soc/sh/fsi.c
parentb9c9f9675fe002e95e596dbe086fdd3baa59db46 (diff)
ASoC: fsi: driver safely remove for against irq
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>
Diffstat (limited to 'sound/soc/sh/fsi.c')
-rw-r--r--sound/soc/sh/fsi.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
index 8071bc68560d..584315895393 100644
--- a/sound/soc/sh/fsi.c
+++ b/sound/soc/sh/fsi.c
@@ -1248,12 +1248,11 @@ static int fsi_remove(struct platform_device *pdev)
1248 1248
1249 master = dev_get_drvdata(&pdev->dev); 1249 master = dev_get_drvdata(&pdev->dev);
1250 1250
1251 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(fsi_soc_dai)); 1251 free_irq(master->irq, master);
1252 snd_soc_unregister_platform(&pdev->dev);
1253
1254 pm_runtime_disable(&pdev->dev); 1252 pm_runtime_disable(&pdev->dev);
1255 1253
1256 free_irq(master->irq, master); 1254 snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(fsi_soc_dai));
1255 snd_soc_unregister_platform(&pdev->dev);
1257 1256
1258 iounmap(master->base); 1257 iounmap(master->base);
1259 kfree(master); 1258 kfree(master);