summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorLiam Girdwood <lrg@ti.com>2012-04-17 18:00:11 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-04-17 20:52:19 +0100
commita7dbb603423d499acacefb5fad65d2b406f16370 (patch)
tree86e84e818848fe637e6fb494ba118cc48019fb2a /sound
parent86fc49982369f6918dd9c6eeb70b38ab2303ed0a (diff)
downloadlinux-3.10-a7dbb603423d499acacefb5fad65d2b406f16370.tar.gz
linux-3.10-a7dbb603423d499acacefb5fad65d2b406f16370.tar.bz2
linux-3.10-a7dbb603423d499acacefb5fad65d2b406f16370.zip
ASoC: core: Fix card RTD count for deferred probe.
Currently we increment the number of RTD's per card during the DAI link bind. This can cause an incorrect RTD count when we cannot find a component and defer the probe (and hence perform the DAI link bind for the card again). Fix the count so that it is cleared before every card registration and bind attempt. 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.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 8d2ebf502df..3a4e93e52b6 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -3119,6 +3119,7 @@ int snd_soc_register_card(struct snd_soc_card *card)
GFP_KERNEL);
if (card->rtd == NULL)
return -ENOMEM;
+ card->num_rtd = 0;
card->rtd_aux = &card->rtd[card->num_links];
for (i = 0; i < card->num_links; i++)