1
linux/drivers/usb/host
Alan Stern 49d0f078f4 USB: add missing delay during remote wakeup
This patch (as1330) fixes a bug in khbud's handling of remote
wakeups.  When a device sends a remote-wakeup request, the parent hub
(or the host controller driver, for directly attached devices) begins
the resume sequence and notifies khubd when the sequence finishes.  At
this point the port's SUSPEND feature is automatically turned off.

However the device needs an additional 10-ms resume-recovery time
(TRSMRCY in the USB spec).  Khubd does not wait for this delay if the
SUSPEND feature is off, and as a result some devices fail to behave
properly following a remote wakeup.  This patch adds the missing
delay to the remote-wakeup path.

It also extends the resume-signalling delay used by ehci-hcd and
uhci-hcd from 20 ms (the value in the spec) to 25 ms (the value we use
for non-remote-wakeup resumes).  The extra time appears to help some
devices.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: stable <stable@kernel.org>
Cc: Rickard Bellini <rickard.bellini@ericsson.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-01-20 15:24:34 -08:00
..
whci USB: whci-hcd: correctly handle sg lists longer than QTD_MAX_XFER_SIZE. 2009-12-11 11:55:26 -08:00
ehci-atmel.c USB: at91: Add USB EHCI driver for at91sam9g45 series 2009-09-23 06:46:30 -07:00
ehci-au1xxx.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
ehci-dbg.c USB: EHCI: split ehci_qh into hw and sw parts 2009-09-23 06:46:29 -07:00
ehci-fsl.c
ehci-fsl.h
ehci-hcd.c USB: add missing delay during remote wakeup 2010-01-20 15:24:34 -08:00
ehci-hub.c USB: EHCI & UHCI: fix race between root-hub suspend and port resume 2010-01-20 15:24:34 -08:00
ehci-ixp4xx.c
ehci-mem.c USB: EHCI: split ehci_qh into hw and sw parts 2009-09-23 06:46:29 -07:00
ehci-mxc.c USB: Add EHCI support for MX27 and MX31 based boards 2009-12-11 11:55:18 -08:00
ehci-omap.c USB ehci: replace mach header with plat 2009-12-16 12:44:04 -08:00
ehci-orion.c
ehci-pci.c USB: work around for EHCI with quirky periodic schedules 2009-11-30 16:43:16 -08:00
ehci-ppc-of.c
ehci-ps3.c
ehci-q.c USB: EHCI: fix handling of unusual interrupt intervals 2010-01-20 15:24:34 -08:00
ehci-sched.c USB: ehci: Respect IST when scheduling new split iTDs. 2009-12-11 11:55:18 -08:00
ehci-w90x900.c USB: Add nuvoton Ehci driver for w90p910 platform 2009-09-23 06:46:20 -07:00
ehci-xilinx-of.c USB: Add support for Xilinx USB host controller 2009-12-11 11:55:13 -08:00
ehci.h USB: work around for EHCI with quirky periodic schedules 2009-11-30 16:43:16 -08:00
fhci-dbg.c
fhci-hcd.c
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c kfifo: move struct kfifo in place 2009-12-22 14:17:55 -08:00
fhci-tds.c kfifo: move struct kfifo in place 2009-12-22 14:17:55 -08:00
fhci.h kfifo: rename kfifo_put... into kfifo_in... and kfifo_get... into kfifo_out... 2009-12-22 14:17:56 -08:00
hwa-hc.c
isp116x-hcd.c
isp116x.h
isp1362-hcd.c isp1362-hcd: use bitmap_find_next_zero_area 2009-12-16 07:20:18 -08:00
isp1362.h USB: FIX bitfield istl_flip:1, make it unsigned. 2009-12-11 11:55:20 -08:00
isp1760-hcd.c USB: isp1760: allow platform devices to customize devflags 2009-09-23 06:46:29 -07:00
isp1760-hcd.h USB: isp1760: allow platform devices to customize devflags 2009-09-23 06:46:29 -07:00
isp1760-if.c USB: isp1760: allow platform devices to customize devflags 2009-09-23 06:46:29 -07:00
Kconfig USB: Add EHCI support for MX27 and MX31 based boards 2009-12-11 11:55:18 -08:00
Makefile USB: NXP ISP1362 USB host driver 2009-09-23 06:46:30 -07:00
ohci-at91.c USB: modifications for at91sam9g10 2009-12-11 11:55:15 -08:00
ohci-au1xxx.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
ohci-dbg.c
ohci-ep93xx.c USB: ohci-ep93xx.c: remove unused variable 2009-09-23 06:46:34 -07:00
ohci-hcd.c USB: ohci: quirk AMD prefetch for USB 1.1 ISO transfer 2009-11-17 16:46:33 -08:00
ohci-hub.c
ohci-lh7a404.c
ohci-mem.c
ohci-omap.c omap: headers: Move remaining headers from include/mach to include/plat 2009-10-20 09:40:47 -07:00
ohci-pci.c USB: ohci: quirk AMD prefetch for USB 1.1 ISO transfer 2009-11-17 16:46:33 -08:00
ohci-pnx4008.c USB: Add missing static markers to ohci-pnx4008 2009-12-11 11:55:14 -08:00
ohci-pnx8550.c
ohci-ppc-of.c
ohci-ppc-soc.c
ohci-ps3.c
ohci-pxa27x.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
ohci-q.c USB: ohci: quirk AMD prefetch for USB 1.1 ISO transfer 2009-11-17 16:46:33 -08:00
ohci-s3c2410.c
ohci-sa1111.c
ohci-sh.c
ohci-sm501.c
ohci-ssb.c
ohci-tmio.c
ohci.h USB: ohci: quirk AMD prefetch for USB 1.1 ISO transfer 2009-11-17 16:46:33 -08:00
oxu210hp-hcd.c USB: EHCI: OHCI: Remove unnecessary includes of reboot.h 2009-09-23 06:46:32 -07:00
oxu210hp.h
pci-quirks.c Revert "USB: Work around BIOS bugs by quiescing USB controllers earlier" 2009-10-11 15:57:57 -07:00
pci-quirks.h
r8a66597-hcd.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
r8a66597.h
sl811_cs.c pcmcia: rework the irq_req_t typedef 2009-11-28 18:03:14 +01:00
sl811-hcd.c
sl811.h
u132-hcd.c
uhci-debug.c
uhci-hcd.c USB: EHCI & UHCI: fix race between root-hub suspend and port resume 2010-01-20 15:24:34 -08:00
uhci-hcd.h
uhci-hub.c USB: add missing delay during remote wakeup 2010-01-20 15:24:34 -08:00
uhci-q.c USB: uhci: rm repeatedly evaluation for urbp->qh 2009-09-23 06:46:30 -07:00
xhci-dbg.c
xhci-ext-caps.h
xhci-hcd.c USB: xhci: Make reverting an alt setting "unfailable". 2009-12-11 11:55:27 -08:00
xhci-hub.c
xhci-mem.c USB: xhci: Make reverting an alt setting "unfailable". 2009-12-11 11:55:27 -08:00
xhci-pci.c USB: make urb scatter-gather support more generic 2009-12-11 11:55:14 -08:00
xhci-ring.c USB: xhci: Fix command completion after a drop endpoint. 2009-12-11 11:55:27 -08:00
xhci.h USB: xhci: Make reverting an alt setting "unfailable". 2009-12-11 11:55:27 -08:00