linux-stable-rt/drivers/usb/core
Alan Stern ca5c485f55 USB: additional regression fix for device removal
Commit e534c5b831 (USB: fix regression
occurring during device removal) didn't go far enough.  It failed to
take into account that when a driver claims multiple interfaces, it may
release them all at the same time.  As a result, some interfaces can
get released before they are unregistered, and we deadlock trying to
acquire the bandwidth_mutex that we already own.

This patch (asl478) handles this case by setting the "unregistering"
flag on all the interfaces before removing any of them.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: stable <stable@kernel.org>
Tested-by: Éric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-07 13:29:33 -07:00
..
Kconfig
Makefile
buffer.c
config.c
devices.c
devio.c
driver.c Merge branch 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2011-06-28 11:15:17 -07:00
endpoint.c
file.c
generic.c
hcd-pci.c
hcd.c USB: remove remaining usages of hcd->state from usbcore and fix regression 2011-05-19 16:34:04 -07:00
hub.c Merge branch 'for-usb-linus' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-linus 2011-06-27 13:36:47 -07:00
inode.c usb: remove bad dput after dentry_unhash 2011-06-06 16:26:59 -07:00
message.c USB: additional regression fix for device removal 2011-07-07 13:29:33 -07:00
notify.c
otg_whitelist.h
quirks.c
sysfs.c
urb.c
usb.c
usb.h