summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2011-04-08 15:09:25 +0900
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-04-11 13:14:41 -0700
commitd985f27e13fe62e158a3416e3d8308ef1cf6028c (patch)
tree2db16dc5770a2ce875499e2b68e7c386064b28e8
parentb9c9f9675fe002e95e596dbe086fdd3baa59db46 (diff)
downloadlinux-3.10-d985f27e13fe62e158a3416e3d8308ef1cf6028c.tar.gz
linux-3.10-d985f27e13fe62e158a3416e3d8308ef1cf6028c.tar.bz2
linux-3.10-d985f27e13fe62e158a3416e3d8308ef1cf6028c.zip
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>
-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 8071bc68560..58431589539 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)
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);