linux/drivers/usb/core
Alan Stern c043f12456 USB: unbind all interfaces before rebinding them
This patch (as1387) fixes a bug introduced during the changeover to
the runtime PM framework.  When a driver doesn't support resume or
reset-resume, and consequently its interfaces need to be unbound and
rebound, we have to unbind all the interfaces before trying to rebind
any of them.  Otherwise the driver's probe method for one interface
could try to claim a different interface and fail, because that other
interface hasn't been unbound yet.

This fixes Bugzilla #15788.  The symptom is that some USB sound cards
don't work after hibernation.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: François Valenduc <francois.valenduc@tvcablenet.be>
Cc: stable <stable@kernel.org> [.34]
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-06-04 13:16:20 -07:00
..
Kconfig USB: fix build on OMAPs if CONFIG_PM_RUNTIME is not set 2010-04-30 09:25:11 -07:00
Makefile USB: add the usbfs devices file to debugfs 2009-06-15 21:44:43 -07:00
buffer.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
config.c USB: remove the usb_host_ss_ep_comp structure 2010-05-20 13:21:40 -07:00
devices.c USB: devices: fix Coding Styles 2010-05-20 13:21:38 -07:00
devio.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
driver.c USB: unbind all interfaces before rebinding them 2010-06-04 13:16:20 -07:00
endpoint.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
file.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
generic.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
hcd-pci.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
hcd.c USB: add missing "{}" in map_urb_for_dma 2010-05-20 13:21:45 -07:00
hub.c USB: usbcore: Do not disable USB3 protocol ports in hub_activate() 2010-05-20 13:21:43 -07:00
inode.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
message.c USB: simplify usb_sg_init() 2010-05-20 13:21:42 -07:00
notify.c USB : correct comments in usb/core/notify.c 2008-02-01 14:34:44 -08:00
otg_whitelist.h USB: fix codingstyle issues in drivers/usb/core/*.h 2008-02-01 14:35:07 -08:00
quirks.c USB: Add a new quirk: USB_QUIRK_HONOR_BNUMINTERFACES 2010-05-20 13:21:32 -07:00
sysfs.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
urb.c USB: Add a usb_pipe_endpoint() convenience function 2010-05-20 13:21:41 -07:00
usb.c drivers/base: Convert dev->sem to mutex 2010-05-21 09:37:30 -07:00
usb.h USB: convert to the runtime PM framework 2010-03-02 14:54:12 -08:00