diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2011-04-08 02:09:25 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-04-11 16:14:41 -0400 |
commit | d985f27e13fe62e158a3416e3d8308ef1cf6028c (patch) | |
tree | 2db16dc5770a2ce875499e2b68e7c386064b28e8 /sound/soc/sh/fsi.c | |
parent | b9c9f9675fe002e95e596dbe086fdd3baa59db46 (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.c | 7 |
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); |