summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sound/soc/soc-pcm.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index e7f2305da899..7c441a06a13d 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -180,8 +180,11 @@ int dpcm_dapm_stream_event(struct snd_soc_pcm_runtime *fe, int dir,
dev_dbg(be->dev, "ASoC: BE %s event %d dir %d\n",
be->dai_link->name, event, dir);
-
- snd_soc_dapm_stream_event(be, dir, event);
+ if (event == SND_SOC_DAPM_STREAM_STOP && be->dpcm[dir].users >= 1) {
+ pr_debug("%s Don't close BE \n", __func__);
+ continue;
+ }
+ snd_soc_dapm_stream_event(be, dir, event);
}
snd_soc_dapm_stream_event(fe, dir, event);