2021-02-15 15:39:51

by Dinghao Liu

[permalink] [raw]
Subject: [PATCH] ASoC: Intel: Skylake: Fix missing check in skl_pcm_trigger

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 <[email protected]>
---
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;

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 +
--
2.17.1


2021-02-15 15:43:20

by Tom Rix

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


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 <[email protected]>
> ---
> 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 +

2021-02-19 05:20:22

by Dinghao Liu

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

>
> 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 <[email protected]>
> > ---
> > 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 ?
>

I think the check is enough here.

Regards,
Dinghao