summaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-03-05 13:17:44 +0100
committerMark Brown <broonie@linaro.org>2014-03-06 10:04:55 +0100
commita1a0cc0646e38b41bfaac94f2b84422bb1df40e0 (patch)
tree38ec513eeb8f5cfe5096f85c616c5a68c8ddc555 /sound/soc
parentASoC: Add helper functions for PCM runtime 'active' management (diff)
downloadlinux-a1a0cc0646e38b41bfaac94f2b84422bb1df40e0.tar.xz
linux-a1a0cc0646e38b41bfaac94f2b84422bb1df40e0.zip
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>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/soc-pcm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 1a9857519d65..71a01dda1867 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--;
}
/**