Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5be1efb4 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: usx2y: Fix unlocked snd_pcm_stop() call



snd_pcm_stop() must be called in the PCM substream lock context.

Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 9538aa46
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -273,7 +273,11 @@ static void usX2Y_clients_stop(struct usX2Ydev *usX2Y)
		struct snd_usX2Y_substream *subs = usX2Y->subs[s];
		if (subs) {
			if (atomic_read(&subs->state) >= state_PRERUNNING) {
				unsigned long flags;

				snd_pcm_stream_lock_irqsave(subs->pcm_substream, flags);
				snd_pcm_stop(subs->pcm_substream, SNDRV_PCM_STATE_XRUN);
				snd_pcm_stream_unlock_irqrestore(subs->pcm_substream, flags);
			}
			for (u = 0; u < NRURBS; u++) {
				struct urb *urb = subs->urb[u];