Re: [PATCH] ASoC: Intel: Skylake: Fix missing check in skl_pcm_trigger

From: Tom Rix
Date: Mon Feb 15 2021 - 10:43:26 EST



On 2/15/21 7:13 AM, Dinghao Liu wrote:
> When cmd == SNDRV_PCM_TRIGGER_STOP, we should also check
> the return value of skl_decoupled_trigger() just like what
> we have done in case SNDRV_PCM_TRIGGER_PAUSE_RELEASE.
>
> Signed-off-by: Dinghao Liu <dinghao.liu@xxxxxxxxxx>
> ---
> sound/soc/intel/skylake/skl-pcm.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c
> index b1ca64d2f7ea..a5b1f333a500 100644
> --- a/sound/soc/intel/skylake/skl-pcm.c
> +++ b/sound/soc/intel/skylake/skl-pcm.c
> @@ -516,6 +516,9 @@ static int skl_pcm_trigger(struct snd_pcm_substream *substream, int cmd,
> return ret;

Is there any additional error handling to be done for the

skl_stop_pipe that just happened ?

Tom

>
> ret = skl_decoupled_trigger(substream, cmd);
> + if (ret < 0)
> + return ret;
> +
> if ((cmd == SNDRV_PCM_TRIGGER_SUSPEND) && !w->ignore_suspend) {
> /* save the dpib and lpib positions */
> stream->dpib = readl(bus->remap_addr +