From: Karsten Wiese Date: Tue, 14 Jun 2005 16:54:55 +0000 (-0700) Subject: [PATCH] usbaudio: prevent oops & dead keyboard on usb unplugging while the device... X-Git-Tag: v2.6.12~15 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=efa93dbedd0e2eacf49ea6fff1fe4397d520cf61;p=linux-2.6-omap-h63xx.git [PATCH] usbaudio: prevent oops & dead keyboard on usb unplugging while the device is being used Without this patch, some usb kobjects, which are parents to the usx2y's kobjects can be freed before the usx2y's. This led to an oops in get_kobj_path_length() and a dead keyboard, when the usx2y's kobjects were freed. The patch ensures the correct sequence. Tested ok on kernel 2.6.12-rc2. Present in ALSA cvs Signed-off-by: Karsten Wiese Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds --- diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c index 84b0bbddbd2..aae66144d41 100644 --- a/sound/usb/usbaudio.c +++ b/sound/usb/usbaudio.c @@ -3289,7 +3289,7 @@ static void snd_usb_audio_disconnect(struct usb_device *dev, void *ptr) } usb_chip[chip->index] = NULL; up(®ister_mutex); - snd_card_free_in_thread(card); + snd_card_free(card); } else { up(®ister_mutex); }