[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5h7f6bmj8z.wl-tiwai@suse.de>
Date: Wed, 04 Jan 2017 07:28:28 +0100
From: Takashi Iwai <tiwai@...e.de>
To: "Ioan-Adrian Ratiu" <adi@...rat.com>
Cc: <perex@...ex.cz>, <o-takashi@...amocchi.jp>,
<alsa-devel@...a-project.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 1/2] ALSA: usb-audio: Fix irq/process data synchronization
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
Powered by blists - more mailing lists