summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGregor Jasny <gjasny@web.de>2005-04-28 09:26:48 +0200
committer <chrisw@vas.sous-sol.org>2005-05-26 21:20:07 -0700
commit439de7e64f1d6c24694697ca103185dbd04563f0 (patch)
tree02914a46932ca652a5a4c2bb82f49333bc5fb420
parent87127723a58fe970177ce087e079f2fffac2adce (diff)
downloadlinux-stable-439de7e64f1d6c24694697ca103185dbd04563f0.tar.gz
linux-stable-439de7e64f1d6c24694697ca103185dbd04563f0.tar.bz2
linux-stable-439de7e64f1d6c24694697ca103185dbd04563f0.zip
[PATCH] usbaudio: prevent oops & dead keyboard on usb unplugging while the device is being used
Summary: 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 <annabellesgarden@yahoo.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Chris Wright <chrisw@osdl.org>
-rw-r--r--sound/usb/usbaudio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c
index e7520f99054c..5ea025155db9 100644
--- a/sound/usb/usbaudio.c
+++ b/sound/usb/usbaudio.c
@@ -3276,7 +3276,7 @@ static void snd_usb_audio_disconnect(struct usb_device *dev, void *ptr)
}
usb_chip[chip->index] = NULL;
up(&register_mutex);
- snd_card_free_in_thread(card);
+ snd_card_free(card);
} else {
up(&register_mutex);
}