kernel-ark/drivers/usb/host
Alan Stern a2c2706e10 USB: EHCI: add software retry for transaction errors
This patch (as1204) adds a software retry mechanism to ehci-hcd.  It
gets invoked when the driver encounters transaction errors on an
asynchronous endpoint.  On many systems, hardware deficiencies cause
such errors to occur if one device is unplugged while the host is
communicating with another device.  With the patch, the failed
transactions are retried and generally succeed the second or third
time through.

This is based on code originally written by Koichiro Saito.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested by: Koichiro Saito <Saito.Koichiro@adniss.jp>
CC: David Brownell <david-b@pacbell.net>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-03-24 16:20:31 -07:00
..
whci wusb: whci-hcd: always lock whc->lock with interrupts disabled 2009-02-16 14:37:12 +00:00
ehci-au1xxx.c
ehci-dbg.c USB: clean up redundant tests on unsigned 2009-01-07 09:59:49 -08:00
ehci-fsl.c
ehci-fsl.h
ehci-hcd.c USB: EHCI: Make timer_action out-of-line 2009-03-24 16:20:31 -07:00
ehci-hub.c USB: powerpc: Workaround for the PPC440EPX USBH_23 errata [take 3] 2009-01-07 09:59:52 -08:00
ehci-ixp4xx.c
ehci-mem.c USB: EHCI: slow down ITD reuse 2009-02-27 14:40:50 -08:00
ehci-orion.c [ARM] Orion: add the option to support different ehci phy initialization 2008-12-04 01:28:14 -05:00
ehci-pci.c USB/PCI: Fix resume breakage of controllers behind cardbus bridges 2009-02-17 16:56:31 -08:00
ehci-ppc-of.c USB: powerpc: Workaround for the PPC440EPX USBH_23 errata [take 3] 2009-01-07 09:59:52 -08:00
ehci-ps3.c USB: Fix PS3 USB shutdown problems 2008-11-13 14:45:02 -08:00
ehci-q.c USB: EHCI: add software retry for transaction errors 2009-03-24 16:20:31 -07:00
ehci-sched.c USB: EHCI: Fix isochronous URB leak 2009-03-17 14:01:29 -07:00
ehci.h USB: EHCI: add software retry for transaction errors 2009-03-24 16:20:31 -07:00
fhci-dbg.c USB: Driver for Freescale QUICC Engine USB Host Controller 2009-01-27 16:15:38 -08:00
fhci-hcd.c USB: Driver for Freescale QUICC Engine USB Host Controller 2009-01-27 16:15:38 -08:00
fhci-hub.c USB: Driver for Freescale QUICC Engine USB Host Controller 2009-01-27 16:15:38 -08:00
fhci-mem.c USB: Driver for Freescale QUICC Engine USB Host Controller 2009-01-27 16:15:38 -08:00
fhci-q.c USB: Driver for Freescale QUICC Engine USB Host Controller 2009-01-27 16:15:38 -08:00
fhci-sched.c USB: Driver for Freescale QUICC Engine USB Host Controller 2009-01-27 16:15:38 -08:00
fhci-tds.c USB: Driver for Freescale QUICC Engine USB Host Controller 2009-01-27 16:15:38 -08:00
fhci.h USB: Driver for Freescale QUICC Engine USB Host Controller 2009-01-27 16:15:38 -08:00
hwa-hc.c uwb: use dev_dbg() for debug messages 2008-12-22 18:22:50 +00:00
isp116x-hcd.c USB: Let some USB host controllers get IRQ flags from resource 2008-10-17 14:40:52 -07:00
isp116x.h USB: add missing KERN_* constants to printks 2009-03-24 16:20:30 -07:00
isp1760-hcd.c USB: isp1760: don't auto disable Port1 on ISP1761 2009-01-07 10:00:09 -08:00
isp1760-hcd.h USB: isp1760: don't auto disable Port1 on ISP1761 2009-01-07 10:00:09 -08:00
isp1760-if.c USB: isp1760: don't auto disable Port1 on ISP1761 2009-01-07 10:00:09 -08:00
Kconfig usb: kill prehistorical comments about USB_EHCI_HCD 2009-03-24 16:20:31 -07:00
Makefile USB: Driver for Freescale QUICC Engine USB Host Controller 2009-01-27 16:15:38 -08:00
ohci-at91.c
ohci-au1xxx.c
ohci-dbg.c USB: EHCI, OHCI, UHCI: remove version numbers 2008-10-17 14:41:02 -07:00
ohci-ep93xx.c
ohci-hcd.c USB: don't enable wakeup by default for PCI host controllers 2009-01-27 16:15:32 -08:00
ohci-hub.c USB: OHCI: fix endless polling behavior 2008-10-17 14:41:04 -07:00
ohci-lh7a404.c
ohci-mem.c
ohci-omap.c [ARM] omap: ensure OMAP drivers pass a struct device to clk_get() 2009-01-24 11:41:16 +00:00
ohci-pci.c USB/PCI: Fix resume breakage of controllers behind cardbus bridges 2009-02-17 16:56:31 -08:00
ohci-pnx4008.c USB: Convert ohci-pnx4008 to a new-style i2c driver 2009-01-07 09:59:53 -08:00
ohci-pnx8550.c
ohci-ppc-of.c USB: powerpc: Workaround for the PPC440EPX USBH_23 errata [take 3] 2009-01-07 09:59:52 -08:00
ohci-ppc-soc.c
ohci-ps3.c USB: Fix PS3 USB shutdown problems 2008-11-13 14:45:02 -08:00
ohci-pxa27x.c [ARM] pxa: don't pass a consumer clock name for devices with unique clocks 2008-11-27 12:38:23 +00:00
ohci-q.c
ohci-s3c2410.c
ohci-sa1111.c
ohci-sh.c
ohci-sm501.c
ohci-ssb.c
ohci-tmio.c usb: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-07 09:59:52 -08:00
ohci.h usb: remove code associated with !CONFIG_PPC_MERGE 2008-10-17 14:40:57 -07:00
oxu210hp-hcd.c oxu210hp-hcd.c: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-07 09:59:52 -08:00
oxu210hp.h usb host: Oxford OXU210HP HCD driver. 2009-01-07 09:59:50 -08:00
pci-quirks.c USB: count reaches -1, tested 0 2009-03-24 16:20:29 -07:00
pci-quirks.h
r8a66597-hcd.c USB: drivers: use USB API functions rather than constants 2009-03-24 16:20:28 -07:00
r8a66597.h sh: sh_mobile usb clock framework support 2008-12-22 18:42:51 +09:00
sl811_cs.c
sl811-hcd.c USB: Let some USB host controllers get IRQ flags from resource 2008-10-17 14:40:52 -07:00
sl811.h
u132-hcd.c
uhci-debug.c
uhci-hcd.c USB/PCI: Fix resume breakage of controllers behind cardbus bridges 2009-02-17 16:56:31 -08:00
uhci-hcd.h
uhci-hub.c
uhci-q.c USB: UHCI: improve scheduling of interrupt URBs 2008-10-17 14:41:01 -07:00