[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