Message ID | 20210215151356.15252-1-dinghao.liu@zju.edu.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ASoC: Intel: Skylake: Fix missing check in skl_pcm_trigger | expand |
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@zju.edu.cn> > --- > 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 +
> > 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@zju.edu.cn> > > --- > > 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
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 +
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@zju.edu.cn> --- sound/soc/intel/skylake/skl-pcm.c | 3 +++ 1 file changed, 3 insertions(+)