aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorLiam Girdwood <lrg@ti.com>2012-01-16 10:25:37 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-01-16 10:49:09 -0500
commit675c496ba4e751ea5b895c83219e3bb034f648ba (patch)
tree890eb4f315df48631b9c6fe9fa67abceb077397f /sound
parente7c80e2a8b403c10d805f48596efac741cce754d (diff)
ASoC: core - Free platform DAPM context at platform removal.
Fix platform removal by freeing the platform DAPM resources and remove it from the DAPM list. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/soc-core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 3986520b4677..b5ecf6d23214 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -907,6 +907,10 @@ static void soc_remove_dai_link(struct snd_soc_card *card, int num, int order)
907 if (err < 0) 907 if (err < 0)
908 printk(KERN_ERR "asoc: failed to remove %s\n", platform->name); 908 printk(KERN_ERR "asoc: failed to remove %s\n", platform->name);
909 } 909 }
910
911 /* Make sure all DAPM widgets are freed */
912 snd_soc_dapm_free(&platform->dapm);
913
910 platform->probed = 0; 914 platform->probed = 0;
911 list_del(&platform->card_list); 915 list_del(&platform->card_list);
912 module_put(platform->dev->driver->owner); 916 module_put(platform->dev->driver->owner);