linux/drivers/usb/core
Alan Stern 54515fe528 USB: unify reset_resume and normal resume
This patch (as919) unifies the code paths used for normal resume and
for reset-resume.  Earlier I had failed to note a section in the USB
spec which requires the host to resume a suspended port before
resetting it if the attached device is enabled for remote wakeup.
Since the port has to be resumed anyway, we might as well reuse the
existing code.

The main changes are:

	usb_reset_suspended_device() is eliminated.

	usb_root_hub_lost_power() is moved down next to the
	hub_reset_resume() routine, to which it is logically
	related.

	finish_port_resume() does a port reset() if the device's
	reset_resume flag is set.

	usb_port_resume() doesn't check whether the port is initially
	enabled if this is a USB-Persist sort of resume.

	Code to perform the port reset is added to the resume pathway
	for the non-CONFIG_USB_SUSPEND case.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12 16:34:30 -07:00
..
buffer.c USB: a bit more coding style cleanup 2007-02-07 15:44:40 -08:00
config.c USB: Fix up bogus bInterval values in endpoint descriptors 2007-06-08 16:24:31 -07:00
devices.c USB: remove use of the bus rwsem, as it doesn't really protect anything. 2007-04-27 10:57:30 -07:00
devio.c usbfs micro optimitation 2007-04-27 13:28:42 -07:00
driver.c USB: add reset_resume method 2007-07-12 16:34:30 -07:00
endpoint.c USB: In init_endpoint_class, use PTR_ERR to obtain an errno value, not IS_ERR 2007-02-16 15:32:17 -08:00
file.c USB: prevent char device open/deregister race 2007-07-12 16:29:48 -07:00
generic.c USB: unify reset_resume and normal resume 2007-07-12 16:34:30 -07:00
hcd-pci.c USB: remove references to dev.power.power_state 2007-07-12 16:29:46 -07:00
hcd.c USB: separate root and non-root suspend/resume 2007-07-12 16:34:29 -07:00
hcd.h USB: separate root and non-root suspend/resume 2007-07-12 16:34:29 -07:00
hub.c USB: unify reset_resume and normal resume 2007-07-12 16:34:30 -07:00
hub.h USB: Move private hub declarations out of public header file 2006-12-01 14:23:30 -08:00
inode.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
Kconfig USB: add USB-Persist facility 2007-07-12 16:29:47 -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: set the correct Interrupt interval in usb_bulk_msg 2007-05-22 23:45:49 -07:00
notify.c usbfs: private mutex for open, release, and remove 2006-09-27 11:58:49 -07:00
otg_whitelist.h USB: Fix apparent typo CONFIG_USB_CDCETHER. 2007-02-16 15:32:18 -08:00
quirks.c USB: add RESET_RESUME device quirk 2007-07-12 16:29:47 -07:00
sysfs.c USB: handle errors in power/level attribute 2007-05-22 23:45:50 -07:00
urb.c USB: introduce usb_anchor 2007-07-12 16:29:51 -07:00
usb.c USB: replace flush_workqueue with cancel_sync_work 2007-05-29 13:39:07 -07:00
usb.h USB: unify reset_resume and normal resume 2007-07-12 16:34:30 -07:00