[PATCH v2 1/2] ASoC: Intel: avs: Lock substream before snd_pcm_stop()

Takashi Iwai tiwai at suse.de
Mon Nov 14 14:28:14 CET 2022


On Mon, 14 Nov 2022 14:25:31 +0100,
Cezary Rojewski wrote:
> 
> On 2022-11-14 2:16 PM, Takashi Iwai wrote:
> > On Mon, 14 Nov 2022 14:00:12 +0100,
> > Takashi Iwai wrote:
> >> On Mon, 14 Nov 2022 12:37:28 +0100,
> >> Cezary Rojewski wrote:
> 
> ...
> 
> >>> @@ -123,7 +123,9 @@ static void avs_dsp_recovery(struct avs_dev *adev)
> >>>   				if (!substream || !substream->runtime)
> >>>   					continue;
> >>>   +				snd_pcm_stream_lock(substream);
> >>>   				snd_pcm_stop(substream, SNDRV_PCM_STATE_DISCONNECTED);
> >>> +				snd_pcm_stream_unlock(substream);
> >> 
> >> Isn't it in the interruptible context?  If so, you need the _irq()
> >> variant.
> 
> Thanks for paying attention to detail, Takashi.
> 
> > Correction: when it's a non-atomic stream, that doesn't matter, both
> > are identical.
> 
> In regard to the point found above, that's precisely why I decided to
> use variant with shorten name. Matter of taste I guess. Can switch to
> _irq() if you believe it's the correct approach.

It's fine in both ways.  For the snd_pcm_stream_lock(), maybe worth to
put a comment, though.


thanks,

Takashi


More information about the Alsa-devel mailing list