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