From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH v2 1/2] ALSA: usb-audio: Fix irq/process data synchronization Date: Wed, 04 Jan 2017 07:28:28 +0100 Message-ID: References: <20170102155031.3638-1-adi@adirat.com> <20170102155031.3638-2-adi@adirat.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Return-path: In-Reply-To: <20170102155031.3638-2-adi@adirat.com> Sender: linux-kernel-owner@vger.kernel.org To: Ioan-Adrian Ratiu Cc: perex@perex.cz, o-takashi@sakamocchi.jp, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org List-Id: alsa-devel@alsa-project.org 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