This is a note to let you know that I've just added the patch titled
USB: fix regression occurring during device removal
to the 2.6.32-longterm tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/longterm/longterm-queue-2.6.32.git;a=summary
The filename of the patch is:
usb-fix-regression-occurring-during-device-removal.patch
and it can be found in the queue-2.6.32 subdirectory.
If you, or anyone else, feels it should not be added to the 2.6.32 longterm
tree,
please let <[email protected]> know about it.
>From e534c5b831c8b8e9f5edee5c8a37753c808b80dc Mon Sep 17 00:00:00 2001
From: Alan Stern <[email protected]>
Date: Fri, 1 Jul 2011 16:43:02 -0400
Subject: USB: fix regression occurring during device removal
From: Alan Stern <[email protected]>
commit e534c5b831c8b8e9f5edee5c8a37753c808b80dc upstream.
This patch (as1476) fixes a regression introduced by
fccf4e86200b8f5edd9a65da26f150e32ba79808 (USB: Free bandwidth when
usb_disable_device is called). usb_disconnect() grabs the
bandwidth_mutex before calling usb_disable_device(), which calls down
indirectly to usb_set_interface(), which tries to acquire the
bandwidth_mutex.
The fix causes usb_set_interface() to return early when it is called
for an interface that has already been unregistered, which is what
happens in usb_disable_device().
Signed-off-by: Alan Stern <[email protected]>
Tested-by: Sarah Sharp <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/usb/core/message.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -1317,6 +1317,8 @@ int usb_set_interface(struct usb_device
interface);
return -EINVAL;
}
+ if (iface->unregistering)
+ return -ENODEV;
alt = usb_altnum_to_altsetting(iface, alternate);
if (!alt) {
Patches currently in longterm-queue-2.6.32 which might be from
[email protected] are
/home/gregkh/linux/longterm/longterm-queue-2.6.32/queue-2.6.32/usb-fix-regression-occurring-during-device-removal.patch
/home/gregkh/linux/longterm/longterm-queue-2.6.32/queue-2.6.32/usb-don-t-let-the-hub-driver-prevent-system-sleep.patch
/home/gregkh/linux/longterm/longterm-queue-2.6.32/queue-2.6.32/usb-don-t-let-errors-prevent-system-sleep.patch
_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable