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

Reply via email to