linux-stable/drivers/usb/core
Alan Stern 55151d7dab USB: Defer Set-Interface for suspended devices
This patch (as1128) fixes one of the problems related to the new PM
infrastructure.  We are not allowed to register new child devices
during the middle of a system sleep transition, but unbinding a USB
driver causes the core to automatically install altsetting 0 and
thereby create new endpoint pseudo-devices.

The patch fixes this problem (and the related problem that installing
altsetting 0 will fail if the device is suspended) by deferring the
Set-Interface call until some later time when it is legal and can
succeed.  Possible later times are: when a new driver is being probed
for the interface, and when the interface is being resumed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-08-21 10:26:36 -07:00
..
buffer.c USB: fix codingstyle issues in drivers/usb/core/*.c 2008-02-01 14:35:08 -08:00
config.c USB: ehci tolerates some buggy devices 2008-04-24 21:16:35 -07:00
devices.c usb: hub: add check for unsupported bus topology 2008-07-21 15:16:26 -07:00
devio.c device create: usb: convert device_create to device_create_drvdata 2008-07-21 21:54:46 -07:00
driver.c USB: Defer Set-Interface for suspended devices 2008-08-21 10:26:36 -07:00
endpoint.c USB: usb dev_set_name() instead of dev->bus_id 2008-07-21 15:15:47 -07:00
file.c device create: usb: convert device_create to device_create_drvdata 2008-07-21 21:54:46 -07:00
generic.c USB: fix possible deadlock involving sysfs attributes 2008-05-29 13:59:03 -07:00
hcd-pci.c USB: clarify usage of hcd->suspend/resume methods 2008-04-24 21:16:48 -07:00
hcd.c USB: usb dev_name() instead of dev->bus_id 2008-07-21 15:15:46 -07:00
hcd.h usb: hub: add check for unsupported bus topology 2008-07-21 15:16:26 -07:00
hub.c USB: use reset_resume when normal resume fails 2008-07-21 15:16:48 -07:00
hub.h wusb: make ep0_reinit available for modules 2008-04-24 21:16:59 -07:00
inode.c usbfs: send disconnect signals when device is unregistered 2008-07-21 15:16:40 -07:00
Kconfig USB: Remove EXPERIMENTAL from dynamic USB minor allocation. 2008-04-24 21:16:43 -07:00
Makefile USB: add a blacklist for devices that can't handle some things we throw at them. 2007-02-23 15:03:46 -08:00
message.c USB: fix interface unregistration logic 2008-08-13 17:32:50 -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 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-06-17 18:10:40 -07:00
sysfs.c USB: add all configs to the "descriptors" attribute 2008-05-29 13:59:03 -07:00
urb.c USB: fix bug in usb_unlink_anchored_urbs() 2008-08-21 10:26:32 -07:00
usb.c USB: usb dev_set_name() instead of dev->bus_id 2008-07-21 15:15:47 -07:00
usb.h usbfs: send disconnect signals when device is unregistered 2008-07-21 15:16:40 -07:00