[alsa-devel] [PATCH 3/7] ASoC: Fix active count tracking for CODEC to CODEC links

Lars-Peter Clausen lars at metafoo.de
Wed Mar 5 13:17:44 CET 2014


For CODEC to CODEC links we need to make sure to also manage the 'active' field
of the cpu_dai CODEC.

Signed-off-by: Lars-Peter Clausen <lars at metafoo.de>
---
 sound/soc/soc-pcm.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 1a98575..71a01dd 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -61,7 +61,9 @@ void snd_soc_runtime_activate(struct snd_soc_pcm_runtime *rtd, int stream)
 
 	cpu_dai->active++;
 	codec_dai->active++;
-	rtd->codec->active++;
+	if (cpu_dai->codec)
+		cpu_dai->codec->active++;
+	codec_dai->codec->active++;
 }
 
 /**
@@ -91,7 +93,9 @@ void snd_soc_runtime_deactivate(struct snd_soc_pcm_runtime *rtd, int stream)
 
 	cpu_dai->active--;
 	codec_dai->active--;
-	rtd->codec->active--;
+	if (cpu_dai->codec)
+		cpu_dai->codec->active--;
+	codec_dai->codec->active--;
 }
 
 /**
-- 
1.8.0



More information about the Alsa-devel mailing list