linux/drivers/usb/host
Alan Stern 221f8dfca8 USB: EHCI: revert "remove ASS/PSS polling timeout"
This patch (as1649) reverts commit
55bcdce8a8 (USB: EHCI: remove ASS/PSS
polling timeout).  That commit was written under the assumption that
some controllers may take a very long time to turn off their async and
periodic schedules.  It now appears that in fact the schedules do get
turned off reasonably quickly, but some controllers occasionally leave
the schedules' status bits turned on and consequently ehci-hcd can't
tell that the schedules are off.

VIA controllers in particular have this problem.  ehci-hcd tells the
hardware to turn off the async schedule, the schedule does get turned
off, but the status bit remains on.  Since the EHCI spec requires that
the schedules not be re-enabled until the previous disable has taken
effect, with an unlimited timeout the async schedule never gets turned
back on.  The resulting symptom is that the system is unable to
communicate with USB devices.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-and-tested-by: Ronald <ronald645@gmail.com>
Reported-and-tested-by: Paul Hartman <paul.hartman@gmail.com>
Reported-and-tested-by: Dieter Nützel <dieter@nuetzel-hh.de>
Reported-and-tested-by: Jean Delvare <khali@linux-fr.org>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-26 13:22:38 -08:00
..
whci USB: whci-hcd: fix NULL dereference on allocation failure 2012-08-15 15:17:39 -07:00
bcma-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
ehci-atmel.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci-dbg.c USB: EHCI: remove unused Link Power Management code 2012-10-31 12:48:07 -07:00
ehci-fsl.c USB: ehci-fsl: fix regression on mpc5121e 2013-01-11 16:01:07 -08:00
ehci-fsl.h powerpc/usb: fix bug of CPU hang when missing USB PHY clock 2012-09-05 16:52:08 -07:00
ehci-grlib.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci-hcd.c Revert "USB: EHCI: make ehci-vt8500 a separate driver" 2013-02-20 10:26:31 -08:00
ehci-hub.c USB: EHCI: fix timer bug affecting port resume 2013-01-25 15:06:01 -08:00
ehci-mem.c
ehci-msm.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
ehci-mv.c usb: gadget: patches for v3.9 merge window 2013-01-25 09:08:05 -08:00
ehci-mxc.c USB patches for 3.9-rc1 2013-02-21 12:20:00 -08:00
ehci-octeon.c USB: EHCI: remove ehci_port_power() routine 2012-10-31 12:48:07 -07:00
ehci-omap.c USB: ehci-omap: Fix autoloading of module 2013-02-14 09:22:01 -08:00
ehci-orion.c Revert "USB: EHCI: make ehci-orion a separate driver" 2013-02-20 10:25:44 -08:00
ehci-pci.c USB: ehci: make debug port in-use detection functional again 2013-01-07 10:34:33 -08:00
ehci-platform.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci-pmcmsp.c USB: EHCI: remove ehci_port_power() routine 2012-10-31 12:48:07 -07:00
ehci-ppc-of.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci-ps3.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ehci-q.c USB: EHCI: unlink one async QH at a time 2013-01-25 13:58:20 -08:00
ehci-s5p.c usb: xceiv: patches for v3.9 merge window 2013-01-25 09:09:46 -08:00
ehci-sched.c USB: EHCI: fix bug in scheduling periodic split transfers 2013-01-31 10:14:48 +01:00
ehci-sead3.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci-sh.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci-spear.c usb: remove use of __devinitdata 2012-11-21 13:27:16 -08:00
ehci-sysfs.c
ehci-tegra.c usb: remove use of __devinitdata 2012-11-21 13:27:16 -08:00
ehci-tilegx.c
ehci-timer.c USB: EHCI: revert "remove ASS/PSS polling timeout" 2013-02-26 13:22:38 -08:00
ehci-vt8500.c Revert "USB: EHCI: make ehci-vt8500 a separate driver" 2013-02-20 10:26:31 -08:00
ehci-w90x900.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
ehci-xilinx-of.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ehci.h USB: EHCI: add a name for the platform-private field 2013-01-22 09:22:13 -08:00
fhci-dbg.c
fhci-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c USB: FHCI: use list_move_tail instead of list_del/list_add_tail 2012-09-05 16:55:18 -07:00
fhci-tds.c
fhci.h
fsl-mph-dr-of.c USB: fsl-mph-dr-of: fix regression on mpc5121e 2013-01-11 16:01:06 -08:00
hwa-hc.c
imx21-dbg.c
imx21-hcd.c usb: imx21-hcd: Include missing linux/module.h 2013-01-11 12:01:09 -08:00
imx21-hcd.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
isp116x-hcd.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
isp116x.h
isp1362-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
isp1362.h
isp1760-hcd.c usb/isp1760: declare schedule_ptds() and errata2_function() static 2013-01-30 00:17:38 -05:00
isp1760-hcd.h
isp1760-if.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
Kconfig Revert "USB: EHCI: make ehci-vt8500 a separate driver" 2013-02-20 10:26:31 -08:00
Makefile Revert "USB: EHCI: make ehci-vt8500 a separate driver" 2013-02-20 10:26:31 -08:00
octeon2-common.c
ohci-at91.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
ohci-da8xx.c ARM: davinci: move platform_data definitions 2012-09-14 11:16:54 +02:00
ohci-dbg.c
ohci-ep93xx.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-exynos.c usb: xceiv: patches for v3.9 merge window 2013-01-25 09:09:46 -08:00
ohci-hcd.c USB: OHCI: remove Alchemy OHCI platform driver. 2012-10-22 11:29:12 -07:00
ohci-hub.c USB: ohci: merge ohci_finish_controller_resume with ohci_resume 2012-10-22 11:23:59 -07:00
ohci-jz4740.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
ohci-mem.c
ohci-nxp.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ohci-octeon.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-omap.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
ohci-omap3.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
ohci-pci.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-platform.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ohci-ppc-of.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-ps3.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-pxa27x.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-q.c USB: ohci: set urb->hcpriv = NULL immediately, after free it 2013-01-11 16:03:38 -08:00
ohci-s3c2410.c usb: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
ohci-sa1111.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
ohci-sm501.c USB: OHCI: sm501: fix build failure after ohci_finish_controller_resume removal 2012-10-23 10:18:53 -07:00
ohci-spear.c usb: remove use of __devinitdata 2012-11-21 13:27:16 -08:00
ohci-tilegx.c
ohci-tmio.c usb: host: ohci-tmio: fix compile warning 2013-01-11 16:22:53 -08:00
ohci.h
oxu210hp-hcd.c
oxu210hp.h
pci-quirks.c usb: Prevent dead ports when xhci is not enabled 2013-01-24 09:56:19 -08:00
pci-quirks.h usb: host: xhci: fix compilation error for non-PCI based stacks 2012-09-05 12:26:11 -07:00
r8a66597-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
r8a66597.h
sl811-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
sl811.h
sl811_cs.c
ssb-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
u132-hcd.c usb: remove use of __devexit 2012-11-21 13:27:17 -08:00
uhci-debug.c USB: uhci: beautify source code 2013-01-24 13:59:26 -08:00
uhci-grlib.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
uhci-hcd.c Merge 3.8-rc5 into usb-next 2013-01-25 12:41:02 -08:00
uhci-hcd.h USB: UHCI: remove unused definition 2013-01-24 13:42:09 -08:00
uhci-hub.c Merge usb-linus branch into usb-next 2013-02-08 12:03:11 -08:00
uhci-pci.c
uhci-platform.c usb: remove use of __devinit 2012-11-21 13:27:16 -08:00
uhci-q.c USB: uhci: check buffer length to avoid memory overflow 2013-01-24 13:42:09 -08:00
xhci-dbg.c xhci: trivial: Remove assigned but unused slot_ctx. 2012-10-25 13:13:48 -07:00
xhci-ext-caps.h
xhci-hub.c xhci: Avoid "dead ports", add roothub port polling. 2013-01-03 14:10:29 -08:00
xhci-mem.c xhci: Handle HS bulk/ctrl endpoints that don't NAK. 2013-01-03 14:09:55 -08:00
xhci-pci.c usb: host: xhci: move HC_STATE_SUSPENDED check to xhci_suspend() 2012-11-12 11:45:34 -08:00
xhci-plat.c usb: host: xhci-plat: use ioremap_nocache 2012-09-05 12:07:19 -07:00
xhci-ring.c Merge usb-linus branch into usb-next 2013-02-08 12:03:11 -08:00
xhci.c xhci: Avoid "dead ports", add roothub port polling. 2013-01-03 14:10:29 -08:00
xhci.h xhci: Avoid global symbol pollution with handshake. 2012-11-12 11:44:25 -08:00