浏览代码

ASoC: Fix active count tracking for CODEC to CODEC links

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@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Lars-Peter Clausen 11 年之前
父节点
当前提交
a1a0cc0646
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      sound/soc/soc-pcm.c

+ 6 - 2
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--;
 }
 
 /**