aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2014-12-08 08:11:39 -0500
committerMark Brown <broonie@kernel.org>2014-12-08 08:11:39 -0500
commit6980a317356cdca536731d8e930bc07d59b2d265 (patch)
tree6bfe2411a2832ed925ea559dd4acf06c22d6f73b
parentb2776bf7149bddd1f4161f14f79520f17fc1d71d (diff)
parent36fba62cce8184ea6a0cecfa43f07f712716a6f8 (diff)
Merge remote-tracking branch 'asoc/fix/pcm' into asoc-linus
-rw-r--r--sound/soc/soc-pcm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 57277dd79e11..70e8088a5468 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -1664,6 +1664,10 @@ int dpcm_be_dai_hw_free(struct snd_soc_pcm_runtime *fe, int stream)
1664 if (!snd_soc_dpcm_can_be_free_stop(fe, be, stream)) 1664 if (!snd_soc_dpcm_can_be_free_stop(fe, be, stream))
1665 continue; 1665 continue;
1666 1666
1667 /* do not free hw if this BE is used by other FE */
1668 if (be->dpcm[stream].users > 1)
1669 continue;
1670
1667 if ((be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_PARAMS) && 1671 if ((be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_PARAMS) &&
1668 (be->dpcm[stream].state != SND_SOC_DPCM_STATE_PREPARE) && 1672 (be->dpcm[stream].state != SND_SOC_DPCM_STATE_PREPARE) &&
1669 (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_FREE) && 1673 (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_FREE) &&