On Mon, 02 Jan 2017 16:50:30 +0100, Ioan-Adrian Ratiu wrote: > > --- a/sound/usb/pcm.c > +++ b/sound/usb/pcm.c (snip) > @@ -850,7 +850,7 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream) > /* for playback, submit the URBs now; otherwise, the first hwptr_done > * updates for all URBs would happen at the same time when starting */ > if (subs->direction == SNDRV_PCM_STREAM_PLAYBACK) > - ret = start_endpoints(subs, true); > + return start_endpoints(subs); Here you miss the unlock below. > > unlock: > snd_usb_unlock_shutdown(subs->stream->chip); ... and this must be the reason of the hang up at disconnection, where the driver ways forever at wait_event() in usb_audio_disconnect(). Could you fix this and resubmit v3? Other than that, it looks OK. thanks, Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel