[kernel] r14449 - in dists/lenny/linux-2.6/debian: . patches/bugfix/all patches/series
Ben Hutchings
benh at alioth.debian.org
Sun Oct 25 16:22:49 UTC 2009
Author: benh
Date: Sun Oct 25 16:22:47 2009
New Revision: 14449
Log:
usbmidi: Fix crash when device is disconnected (Closes: #513050)
Added:
dists/lenny/linux-2.6/debian/patches/bugfix/all/usbmidi-fix-oops-at-disconnection.patch
Modified:
dists/lenny/linux-2.6/debian/changelog
dists/lenny/linux-2.6/debian/patches/series/21
Modified: dists/lenny/linux-2.6/debian/changelog
==============================================================================
--- dists/lenny/linux-2.6/debian/changelog Sun Oct 25 00:33:55 2009 (r14448)
+++ dists/lenny/linux-2.6/debian/changelog Sun Oct 25 16:22:47 2009 (r14449)
@@ -4,6 +4,7 @@
* Fix false soft lockup reports for the nohz idle loop
* nohz: Fix two bugs that can keep a processor idle and lead to a
system hang (may fix #538158 and others)
+ * usbmidi: Fix crash when device is disconnected (Closes: #513050)
-- Ben Hutchings <ben at decadent.org.uk> Sat, 24 Oct 2009 23:45:45 +0100
Added: dists/lenny/linux-2.6/debian/patches/bugfix/all/usbmidi-fix-oops-at-disconnection.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/lenny/linux-2.6/debian/patches/bugfix/all/usbmidi-fix-oops-at-disconnection.patch Sun Oct 25 16:22:47 2009 (r14449)
@@ -0,0 +1,38 @@
+From 7a17daae8ed71bf3259d905a4fc48a5b424fa935 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai at suse.de>
+Date: Thu, 2 Oct 2008 14:50:22 +0200
+Subject: [PATCH] ALSA: usb - Fix possible Oops at USB-MIDI disconnection
+
+The endpoints should be released immediately at disconnection
+rather than the delayed release. This could be a reason of Oops
+at USB-audio device disconnection being used.
+
+Signed-off-by: Takashi Iwai <tiwai at suse.de>
+Signed-off-by: Jaroslav Kysela <perex at perex.cz>
+---
+ sound/usb/usbmidi.c | 9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c
+index c0c7770..5962e4b 100644
+--- a/sound/usb/usbmidi.c
++++ b/sound/usb/usbmidi.c
+@@ -1112,6 +1112,15 @@ void snd_usbmidi_disconnect(struct list_head* p)
+ }
+ if (ep->in)
+ usb_kill_urb(ep->in->urb);
++ /* free endpoints here; later call can result in Oops */
++ if (ep->out) {
++ snd_usbmidi_out_endpoint_delete(ep->out);
++ ep->out = NULL;
++ }
++ if (ep->in) {
++ snd_usbmidi_in_endpoint_delete(ep->in);
++ ep->in = NULL;
++ }
+ }
+ del_timer_sync(&umidi->error_timer);
+ }
+--
+1.6.4.3
+
Modified: dists/lenny/linux-2.6/debian/patches/series/21
==============================================================================
--- dists/lenny/linux-2.6/debian/patches/series/21 Sun Oct 25 00:33:55 2009 (r14448)
+++ dists/lenny/linux-2.6/debian/patches/series/21 Sun Oct 25 16:22:47 2009 (r14449)
@@ -2,3 +2,4 @@
+ bugfix/all/nohz-dont-stop-if-softirqs-pending.patch
+ bugfix/all/nohz-dont-stop-outside-idle-loop.patch
+ bugfix/s390/nohz-dont-stop-outside-idle-loop-s390.patch
++ bugfix/all/usbmidi-fix-oops-at-disconnection.patch
More information about the Kernel-svn-changes
mailing list