[alsa-devel] [PATCH] ALSA: usb - prevent kernel panic on disconnect

Torsten Schenk torsten.schenk at zoho.com
Thu Feb 10 03:17:27 CET 2011


I encountered a similar problem while developing drivers for the dmx 6fire usb. Perhaps my finding could provide you with some more information about the kernel panic. I found out that if the device is removed,
the isoc-packet status indicate an error in the in-urb-retire method; the urb status still is 0. This happens a few ms before the actual disconnect() handler is called.
I also looked into the snd-usb-audio driver and could not find any isoc-packet status check. Maybe this could lead to inconsistencies between PCM stream state
and urbs.

Greets, Torsten

---- On Wed, 09 Feb 2011 20:13:24 +0100 Pierre-Louis Bossart  wrote ---- 

>Fix 100% reproducible kernel panic when a USB audio device is 
>disconnected during playback. When the PCM substream is NULL, any 
>dereference causes a kernel panic. This isn't a recent problem, the crash 
>happened with a 2.6.35 kernel as well 
>Note that this is only a work-around, it does not address the 
>root cause of this inconsistency between urbs and PCM states. The 
>dmesg below shows two calls to snd_urb_complete, the substream is 
>NULL and the state is either running or stopped. This doesn't make 
>any sense. 
>Thanks to Sarah Sharp  for her 

More information about the Alsa-devel mailing list