linux/drivers/usb/host
Sarah Sharp a1587d97ce USB: xhci: Deal with stalled endpoints.
When an endpoint on a device under an xHCI host controller stalls, the
host controller driver must let the hardware know that the USB core has
successfully cleared the halt condition.  The HCD submits a Reset Endpoint
Command, which will clear the toggle bit for USB 2.0 devices, and set the
sequence number to zero for USB 3.0 devices.

The xHCI urb_enqueue will accept new URBs while the endpoint is halted,
and will queue them to the hardware rings.  However, the endpoint doorbell
will not be rung until the Reset Endpoint Command completes.

Don't queue a reset endpoint command for root hubs.  khubd clears halt
conditions on the roothub during the initialization process, but the roothub
isn't a real device, so the xHCI host controller doesn't need to know about the
cleared halt.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-07-28 14:31:11 -07:00
..
whci USB: whci-hcd: check return value of usb_hcd_link_urb_to_ep() 2009-04-17 10:50:27 -07:00
ehci-au1xxx.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-dbg.c
ehci-fsl.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-fsl.h
ehci-hcd.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-hub.c USB: EHCI: create sysfs companion files directly in the controller device 2009-06-15 21:44:43 -07:00
ehci-ixp4xx.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-mem.c USB: EHCI: slow down ITD reuse 2009-02-27 14:40:50 -08:00
ehci-orion.c USB: ehci-orion: Call ehci_reset before ehci_halt 2009-07-28 14:31:10 -07:00
ehci-pci.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-ppc-of.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-ps3.c USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
ehci-q.c USB: EHCI: check for STALL before other errors 2009-07-12 15:16:39 -07:00
ehci-sched.c USB: EHCI: report actual_length for iso transfers 2009-07-12 15:16:40 -07:00
ehci.h USB: EHCI: use the new clear_tt_buffer interface 2009-07-12 15:16:39 -07:00
fhci-dbg.c USB: FHCI: use the new usb debugfs directory 2009-06-15 21:44:43 -07:00
fhci-hcd.c USB: FHCI: use dev_name() in place of bus_id. 2009-03-24 16:38:23 -07: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: fhci: mutually exclusive port_status 2009-07-12 15:16:36 -07: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 wusb: hwa-hc: Drop unused pci_suspend/resume hooks. 2009-06-15 21:44:44 -07:00
isp116x-hcd.c USB: make transfer_buffer_lengths in struct urb field u32 2009-03-24 16:20:36 -07:00
isp116x.h USB: add missing KERN_* constants to printks 2009-03-24 16:20:30 -07:00
isp1760-hcd.c USB: isp1760: urb_dequeue doesn't always find the urbs 2009-05-28 13:54:43 -07:00
isp1760-hcd.h USB: Make the isp1760_register function prototype more generic 2009-03-24 16:20:31 -07:00
isp1760-if.c USB: isp1760: use __devexit_p() for remove function 2009-07-12 15:16:36 -07:00
Kconfig USB: buildfix ppc randconfig 2009-07-12 15:16:37 -07:00
Makefile USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries. 2009-06-15 21:44:51 -07:00
ohci-at91.c [ARM] 5446/1: ohci-at91: Limit vbus_pin assignment to the size of the array 2009-04-08 20:36:18 +01:00
ohci-au1xxx.c
ohci-dbg.c USB: OHCI: use the ohci structure directly in debugfs files. 2009-06-15 21:44:43 -07:00
ohci-ep93xx.c [ARM] 5526/1: ep93xx: usb driver cleanup 2009-05-29 20:16:29 +01:00
ohci-hcd.c USB: OHCI: use the new usb debugfs directory 2009-06-15 21:44:43 -07:00
ohci-hub.c
ohci-lh7a404.c
ohci-mem.c
ohci-omap.c USB: OMAP: OHCI: hc_driver's stop method should call ohci_stop 2009-07-28 14:31:09 -07:00
ohci-pci.c USB: new flag for resume-from-hibernation 2009-06-15 21:44:44 -07: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
ohci-ppc-soc.c
ohci-ps3.c usb/ps3: Add missing annotations 2009-06-16 14:17:32 +10:00
ohci-pxa27x.c
ohci-q.c
ohci-s3c2410.c USB: S3C: Move usb-control.h to platform include 2009-03-24 16:20:45 -07:00
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
oxu210hp-hcd.c USB: host: fix sparse warning: Using plain integer as NULL pointer 2009-03-24 16:20:44 -07:00
oxu210hp.h USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
pci-quirks.c USB: xhci: BIOS handoff and HW initialization. 2009-06-15 21:44:48 -07:00
pci-quirks.h
r8a66597-hcd.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
r8a66597.h USB: r8a66597-hcd: use platform_data instead of module_param 2009-06-15 21:44:46 -07:00
sl811_cs.c
sl811-hcd.c USB: make transfer_buffer_lengths in struct urb field u32 2009-03-24 16:20:36 -07:00
sl811.h
u132-hcd.c
uhci-debug.c USB: uhci: don't use pseudo negative values 2009-03-24 16:20:36 -07:00
uhci-hcd.c USB: new flag for resume-from-hibernation 2009-06-15 21:44:44 -07:00
uhci-hcd.h USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
uhci-hub.c
uhci-q.c USB: UHCI queue: use usb_endpoint_type() 2009-06-15 21:44:42 -07:00
xhci-dbg.c USB: xhci: fix less- and greater than confusion 2009-07-28 14:31:11 -07:00
xhci-ext-caps.h USB: xhci: Support xHCI host controllers and USB 3.0 devices. 2009-06-15 21:44:48 -07:00
xhci-hcd.c USB: xhci: Deal with stalled endpoints. 2009-07-28 14:31:11 -07:00
xhci-hub.c USB: xhci: Root hub support. 2009-06-15 21:44:48 -07:00
xhci-mem.c USB: xhci: Respect critical sections. 2009-06-15 21:44:51 -07:00
xhci-pci.c USB: xhci: Deal with stalled endpoints. 2009-07-28 14:31:11 -07:00
xhci-ring.c USB: xhci: Deal with stalled endpoints. 2009-07-28 14:31:11 -07:00
xhci.h USB: xhci: Deal with stalled endpoints. 2009-07-28 14:31:11 -07:00