On 01/21/2013 10:50 AM, Takashi Iwai wrote:
> At Sat, 19 Jan 2013 12:03:23 +0100,
> Takashi Iwai wrote:
>>
>> At Fri, 18 Jan 2013 14:26:55 -0600,
>> Chris J Arges wrote:
>>>
>>> ALSA: usb-audio: Fix races at disconnection
>>> From: Takashi Iwai <tiwai <at> suse.de>
>>> commit 978520b75f0a1ce82b17e1e8186417250de6d545 upstream.
>>>
>>> I've noticed that this backported patch causes a kernel panic when
>>> plugging in and unplugging a USB headset.
>>> A bug has been filed here:
>>> http://bugs.launchpad.net/bugs/1097396
>>> There is a backtrace in one of the comments.
>>>
>>> If I revert this patch from Ubuntu 3.2.0-36 (based off of v3.2.35), the
>>> failure goes away. However I would guess that the original patch fixes
>>> other issues.
>>>
>>> Sorry if this is a duplicate e-mail, I tried to use a web interface to
>>> respond, but wasn't sure it went through properly.
>>
>> OK, I'll try to take a look at it in the next week.
>
> Does the patch below fix the issue?
> Other than that, I see no obvious failure in the patch through a quick
> look.
>
>
> thanks,
>
> Takashi
>
Takashi,
Yes! I have built a kernel with this patch on top, and it does indeed
fix the issue. I've tested this 20-30 times, plugging and unplugging my
headset, I reset and repeat the procedure.
Thanks,
--chris j arges
> ---
> diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
> index 24c5114..9ab2b3e 100644
> --- a/sound/usb/endpoint.c
> +++ b/sound/usb/endpoint.c
> @@ -148,10 +148,8 @@ void snd_usb_release_substream_urbs(struct
> snd_usb_substream *subs, int force)
> int i;
>
> /* stop urbs (to be sure) */
> - if (!subs->stream->chip->shutdown) {
> - deactivate_urbs(subs, force, 1);
> - wait_clear_urbs(subs);
> - }
> + deactivate_urbs(subs, force, 1);
> + wait_clear_urbs(subs);
>
> for (i = 0; i < MAX_URBS; i++)
> release_urb_ctx(&subs->dataurb[i]);
>
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html