diff options
author | Liam Girdwood <lrg@ti.com> | 2012-01-16 10:25:37 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-01-16 10:49:09 -0500 |
commit | 675c496ba4e751ea5b895c83219e3bb034f648ba (patch) | |
tree | 890eb4f315df48631b9c6fe9fa67abceb077397f /sound | |
parent | e7c80e2a8b403c10d805f48596efac741cce754d (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.c | 4 |
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); |