Commit 76195fb0 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: usb - Release capture substream URBs properly

Due to the wrong "return" in the loop, a capture substream won't be
released at disconnection properly if the device is capture only and has
no playback substream.  This caused Oops occasionally at the device
reconnection.
Reported-by: default avatarKim Minhyoung <minhyoung.kim@lge.com>
Cc: <stable@kernel.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent fe6ce80a
...@@ -126,7 +126,7 @@ static void snd_usb_stream_disconnect(struct list_head *head) ...@@ -126,7 +126,7 @@ static void snd_usb_stream_disconnect(struct list_head *head)
for (idx = 0; idx < 2; idx++) { for (idx = 0; idx < 2; idx++) {
subs = &as->substream[idx]; subs = &as->substream[idx];
if (!subs->num_formats) if (!subs->num_formats)
return; continue;
snd_usb_release_substream_urbs(subs, 1); snd_usb_release_substream_urbs(subs, 1);
subs->interface = -1; subs->interface = -1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment