From 98e39e5ab8a1a50a3f4e519dab2821daf0c91203 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Fri, 8 Jun 2012 12:34:21 -0600 Subject: [PATCH] --- yaml --- r: 316244 b: refs/heads/master c: 18d756440e8ed292b772682c4440a9d33643225b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/sound/soc/soc-core.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 5d7e2a310a86..33509a60acdc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a9db7dbee0436f0c741c6dfb39ab0241d4131539 +refs/heads/master: 18d756440e8ed292b772682c4440a9d33643225b diff --git a/trunk/sound/soc/soc-core.c b/trunk/sound/soc/soc-core.c index 448d4a7c09dd..621c5bdea483 100644 --- a/trunk/sound/soc/soc-core.c +++ b/trunk/sound/soc/soc-core.c @@ -984,8 +984,10 @@ static void soc_remove_dai_link(struct snd_soc_card *card, int num, int order) cpu_dai->probed = 0; list_del(&cpu_dai->card_list); - if (!cpu_dai->codec) + if (!cpu_dai->codec) { + snd_soc_dapm_free(&cpu_dai->dapm); module_put(cpu_dai->dev->driver->owner); + } } } @@ -1264,6 +1266,7 @@ static int soc_probe_dai_link(struct snd_soc_card *card, int num, int order) if (!try_module_get(cpu_dai->dev->driver->owner)) return -ENODEV; + list_add(&cpu_dai->dapm.list, &card->dapm_list); snd_soc_dapm_new_dai_widgets(&cpu_dai->dapm, cpu_dai); }