linux/drivers/usb/host
Sarah Sharp 2d1ee5904b USB: xhci: Set EP0 dequeue ptr after reset of configured device.
When a configured device is reset, the control endpoint's ring is reused.
If control transfers to the device were issued before the device is reset,
the dequeue pointer will be somewhere in the middle of the ring.  If the
device is then issued an address with the set address command, the xHCI
driver must provide a valid input context for control endpoint zero.

The original code would give the hardware the original input context,
which had a dequeue pointer set to the top of the ring.  This would cause
the host to re-execute any control transfers until it reached the ring's
enqueue pointer.  When issuing a set address command for a device that has
just been configured and then reset, use the control endpoint's enqueue
pointer as the hardware's dequeue pointer.

Assumption:  All control transfers will be completed or cancelled before
the set address command is issued to the device.  If there are any
outstanding control transfers, this code will not work.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-07-26 12:00:58 -07:00
..
whci USB: Change the scatterlist type in struct urb 2010-05-20 13:21:41 -07:00
ehci-atmel.c USB: ehci-atmel.c: use resource_size() 2010-03-02 14:53:18 -08:00
ehci-au1xxx.c USB: EHCI: fix controller wakeup flag settings during suspend 2010-05-20 13:21:45 -07: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 USB: EHCI: fix controller wakeup flag settings during suspend 2010-05-20 13:21:45 -07:00
ehci-fsl.h
ehci-hcd.c usb: fix ehci_hcd build failure when both generic-OF and xilinx is selected 2010-06-04 13:16:19 -07:00
ehci-hub.c USB: EHCI: fix controller wakeup flag settings during suspend 2010-05-20 13:21:45 -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: defer reclamation of siTDs 2010-04-22 15:18:28 -07:00
ehci-mxc.c USB: ehci-mxc: bail out on transceiver problems 2010-06-30 08:16:06 -07:00
ehci-omap.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2010-05-20 21:26:12 -07:00
ehci-orion.c USB: ehci-orion.c: use resource_size() 2010-03-02 14:53:17 -08:00
ehci-pci.c USB: EHCI: fix controller wakeup flag settings during suspend 2010-05-20 13:21:45 -07:00
ehci-ppc-of.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06: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: Change the scatterlist type in struct urb 2010-05-20 13:21:41 -07:00
ehci-sched.c USB: EHCI: defer reclamation of siTDs 2010-04-22 15:18:28 -07:00
ehci-w90x900.c USB: Add nuvoton Ehci driver for w90p910 platform 2009-09-23 06:46:20 -07:00
ehci-xilinx-of.c of/usb: fix build error due to of_node pointer move 2010-06-02 13:35:02 -06:00
ehci.h USB: EHCI: fix controller wakeup flag settings during suspend 2010-05-20 13:21:45 -07:00
fhci-dbg.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-hcd.c Merge remote branch 'origin' into secretlab/next-devicetree 2010-05-22 00:36:56 -06:00
fhci-hub.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-mem.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-q.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-sched.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-tds.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci.h USB: FHCI: cq_get() should check kfifo_out()'s return value 2010-05-20 13:21:46 -07:00
hwa-hc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
imx21-dbg.c USB: MXC: Add i.MX21 specific USB host controller driver. 2010-03-02 14:52:55 -08:00
imx21-hcd.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
imx21-hcd.h USB: MXC: Add i.MX21 specific USB host controller driver. 2010-03-02 14:52:55 -08:00
isp116x-hcd.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
isp116x.h USB: add missing KERN_* constants to printks 2009-03-24 16:20:30 -07:00
isp1362-hcd.c USB: isp1362-hcd, fix double lock 2010-06-30 08:16:06 -07:00
isp1362.h USB: isp1362: fix inw warning on Blackfin systems 2010-06-04 13:16:18 -07:00
isp1760-hcd.c USB: isp1760: Soften DW3 X/transaction error bit handling 2010-05-20 13:21:44 -07:00
isp1760-hcd.h USB: isp1760: allow platform devices to customize devflags 2009-09-23 06:46:29 -07:00
isp1760-if.c Merge remote branch 'origin' into secretlab/next-devicetree 2010-05-22 00:36:56 -06:00
Kconfig USB: ohci: Add Kconfig entries for ohci-omap3 2010-05-20 13:21:44 -07:00
Makefile USB: xhci: rename driver to xhci_hcd 2010-03-19 07:24:08 -07:00
ohci-at91.c USB: ohci-at91: fix power management hanging 2010-04-30 09:25:12 -07:00
ohci-au1xxx.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
ohci-da8xx.c USB: OHCI: DA8xx/OMAP-L1x: fix up macro rename 2010-04-22 15:18:24 -07:00
ohci-dbg.c USB: Convert concatenated __FILE__ to %s, __FILE__ 2010-03-02 14:54:59 -08:00
ohci-ep93xx.c USB: ohci-ep93xx.c: remove unused variable 2009-09-23 06:46:34 -07:00
ohci-hcd.c USB: ohci: Add Kconfig entries for ohci-omap3 2010-05-20 13:21:44 -07:00
ohci-hub.c USB: OHCI: don't look at the root hub to get the number of ports 2010-04-30 09:25:10 -07:00
ohci-lh7a404.c USB: Convert concatenated __FILE__ to %s, __FILE__ 2010-03-02 14:54:59 -08:00
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-omap3.c USB: ohci: introduce omap3 ohci-hcd driver 2010-05-20 13:21:44 -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: fix I2C API usage in ohci-pnx4008. 2010-03-02 14:55:15 -08:00
ohci-pnx8550.c
ohci-ppc-of.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
ohci-ppc-soc.c USB: Convert concatenated __FILE__ to %s, __FILE__ 2010-03-02 14:54:59 -08:00
ohci-ps3.c usb/ps3: Add missing annotations 2009-06-16 14:17:32 +10:00
ohci-pxa27x.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
ohci-q.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ohci-s3c2410.c USB: S3C: Move usb-control.h to platform include 2009-03-24 16:20:45 -07:00
ohci-sa1111.c USB: Convert concatenated __FILE__ to %s, __FILE__ 2010-03-02 14:54:59 -08:00
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: ohci: quirk AMD prefetch for USB 1.1 ISO transfer 2009-11-17 16:46:33 -08:00
oxu210hp-hcd.c USB: straighten out port feature vs. port status usage 2010-05-20 13:21:31 -07:00
oxu210hp.h USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
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 USB: r8a66597: Fix failure in change of status 2010-06-30 08:16:05 -07:00
r8a66597.h usb: r8a66597-hcd pio to mmio accessor conversion. 2010-06-02 16:31:15 +09:00
sl811-hcd.c USB: straighten out port feature vs. port status usage 2010-05-20 13:21:31 -07:00
sl811.h
sl811_cs.c pcmcia: dev_node removal (drivers with updated printk call) 2010-05-10 10:23:15 +02:00
u132-hcd.c USB: fix u132-hcd code/data warning 2010-05-20 13:21:43 -07:00
uhci-debug.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
uhci-hcd.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
uhci-hcd.h USB: replace uses of __constant_{endian} 2009-03-24 16:20:33 -07:00
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 USB: xhci: Correct assumptions about number of rings per endpoint. 2010-05-20 13:21:38 -07:00
xhci-ext-caps.h USB: xhci: Fix finding extended capabilities registers 2010-03-02 14:55:02 -08:00
xhci-hub.c USB: xhci: Remove the arbitrary limit of 15 xHCI ports 2010-05-20 13:21:45 -07:00
xhci-mem.c USB: xhci: Set EP0 dequeue ptr after reset of configured device. 2010-07-26 12:00:58 -07:00
xhci-pci.c USB: xhci: Print NEC firmware version. 2010-06-04 13:16:19 -07:00
xhci-ring.c USB: xHCI: Fix another bug in link TRB activation change. 2010-07-26 12:00:58 -07:00
xhci.c USB: xhci: Set EP0 dequeue ptr after reset of configured device. 2010-07-26 12:00:58 -07:00
xhci.h USB: xhci: Set EP0 dequeue ptr after reset of configured device. 2010-07-26 12:00:58 -07:00