diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 322e9c2dc19b..e97da9d17818 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c @@ -2113,6 +2113,15 @@ static int dpcm_fe_dai_shutdown(struct snd_pcm_substream *substream) dpcm_set_fe_update_state(fe, stream, SND_SOC_DPCM_UPDATE_FE); +#ifdef CONFIG_AUDIO_QGKI + dev_dbg(fe->dev, "ASoC: close FE %s\n", fe->dai_link->name); + + /* now shutdown the frontend */ + soc_pcm_close(substream); + + /* shutdown the BEs */ + dpcm_be_dai_shutdown(fe, substream->stream); +#else /* shutdown the BEs */ dpcm_be_dai_shutdown(fe, substream->stream); @@ -2120,6 +2129,7 @@ static int dpcm_fe_dai_shutdown(struct snd_pcm_substream *substream) /* now shutdown the frontend */ soc_pcm_close(substream); +#endif /* run the stream event for each BE */ dpcm_dapm_stream_event(fe, stream, SND_SOC_DAPM_STREAM_STOP);