ALSA: usb-audio: Don't start stream for capture at prepare
authorTakashi Iwai <tiwai@suse.de>
Fri, 19 Nov 2021 10:26:29 +0000 (11:26 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 19 Nov 2021 10:27:50 +0000 (11:27 +0100)
The recent change made mistakenly the stream for capture started at
prepare stage.  Add the stream direction check to avoid it.

Fixes: 9c9a3b9da891 ("ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback")
Link: https://lore.kernel.org/r/20211119102629.7476-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/pcm.c

index 57b046e73bfedc346275e7f9c75c8de089c6789b..cec6e91afea2403cc4fd56580c07a01291be3b26 100644 (file)
@@ -640,7 +640,8 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream)
        runtime->delay = 0;
 
        subs->lowlatency_playback = lowlatency_playback_available(runtime, subs);
-       if (!subs->lowlatency_playback)
+       if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK &&
+           !subs->lowlatency_playback)
                ret = start_endpoints(subs);
 
  unlock: