When the BE was in PAUSED state, the correct trigger is PAUSE_RELEASE.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20220406190056.233481-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
if (be->dpcm[stream].be_start != 1)
goto next;
+ if (be->dpcm[stream].state == SND_SOC_DPCM_STATE_PAUSED)
+ ret = soc_pcm_trigger(be_substream,
+ SNDRV_PCM_TRIGGER_PAUSE_RELEASE);
+ else
+ ret = soc_pcm_trigger(be_substream,
+ SNDRV_PCM_TRIGGER_START);
+
ret = soc_pcm_trigger(be_substream, cmd);
if (ret) {
be->dpcm[stream].be_start--;