|
@@ -907,6 +907,10 @@ static void soc_remove_dai_link(struct snd_soc_card *card, int num, int order)
|
|
if (err < 0)
|
|
if (err < 0)
|
|
printk(KERN_ERR "asoc: failed to remove %s\n", platform->name);
|
|
printk(KERN_ERR "asoc: failed to remove %s\n", platform->name);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /* Make sure all DAPM widgets are freed */
|
|
|
|
+ snd_soc_dapm_free(&platform->dapm);
|
|
|
|
+
|
|
platform->probed = 0;
|
|
platform->probed = 0;
|
|
list_del(&platform->card_list);
|
|
list_del(&platform->card_list);
|
|
module_put(platform->dev->driver->owner);
|
|
module_put(platform->dev->driver->owner);
|