u-boot-brain/drivers/usb/host
Hans de Goede 415548d884 usb: ehci: poll_int_queue check real qtd, not the overlay
When we first start an int queue, the qh's overlay area is all zeros. This
gets filled by the hc with the actual qtd values as soon as it advances
the queue, but we may call poll_int_queue before then, in which case we
would think the transfer has completed as the hc has not yet copied the
qt_token to the overlay, so the active flag is not set.

This fixes this by checking the actual qtd token, rather then the overlay.
This also fixes a (theoretical) race where we see the completion in the
overlay and free and re-use the qtd before the hc has completed writing back
the overlay to the actual qtd.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2014-10-06 14:50:42 +02:00
..
ehci-armada100.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-atmel.c USB: ehci-atmel: use pcr to enable or disable clock 2014-09-19 00:11:21 +02:00
ehci-exynos.c exynos: usb: Fix data abort on boards w/o vbus-gpio node in the DT 2014-04-30 10:30:57 +02:00
ehci-faraday.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-fsl.c drivers/usb : Define usb control register mask for w1c bits 2014-05-16 16:24:27 -05:00
ehci-hcd.c usb: ehci: poll_int_queue check real qtd, not the overlay 2014-10-06 14:50:42 +02:00
ehci-marvell.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-mpc512x.c powerpc/usb:Differentiate USB controller base address 2013-10-24 09:35:09 -07:00
ehci-mx5.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-mx6.c usb: ehci-mx6: add support for otg port 2013-10-20 23:46:33 +02:00
ehci-mxc.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-mxs.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-omap.c usb: ehci-omap: Reset the USB Host OMAP module 2013-12-06 07:02:32 -05:00
ehci-pci.c usb: ehci-pci: Clarify and cleanup the EHCI controller detection 2013-12-18 19:53:19 +01:00
ehci-ppc4xx.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-rmobile.c usb: ehci: rmobile: Remove xHCI address 2014-08-09 11:17:01 -04:00
ehci-spear.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-sunxi.c sunxi: add USB EHCI driver 2014-07-31 15:37:22 +02:00
ehci-tegra.c usb: tegra: support device mode 2014-05-15 00:21:17 +02:00
ehci-vct.c usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
ehci-zynq.c ARM: zynq: ehci: Added USB host driver support 2014-05-14 07:43:35 +02:00
ehci.h usb: ehci-hcd: add enum usb_init_type parameter to ehci_hcd_init. 2013-10-20 23:46:27 +02:00
isp116x-hcd.c usb: create common header virtual root hub descriptors 2014-03-10 18:53:36 +01:00
isp116x.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
Makefile sunxi: add USB EHCI driver 2014-07-31 15:37:22 +02:00
ohci-at91.c USB: ohci-at91: use pcr to enable or disable clock 2014-09-19 00:11:20 +02:00
ohci-da8xx.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ohci-ep93xx.c arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
ohci-hcd.c usb: create common header virtual root hub descriptors 2014-03-10 18:53:36 +01:00
ohci-s3c24xx.c usb: create common header virtual root hub descriptors 2014-03-10 18:53:36 +01:00
ohci-s3c24xx.h dm: Move s3c24xx USB driver to a proper place 2012-10-18 06:54:18 +02:00
ohci.h usb: new board-specific USB init interface 2013-10-20 23:42:40 +02:00
r8a66597-hcd.c usb: r8a66597: Fix initilization size of r8a66597 info structure 2014-06-25 22:38:04 +02:00
r8a66597.h usb: r8a66597: Fix argument mistake of inl 2011-08-08 21:40:40 +02:00
sl811-hcd.c usb: add enum usb_init_type parameter to usb_lowlevel_init 2013-10-20 23:45:26 +02:00
sl811.h drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
utmi-armada100.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
xhci-exynos5.c exynos: usb: Fix data abort on boards w/o vbus-gpio node in the DT 2014-04-30 10:30:57 +02:00
xhci-mem.c USB: xHCI: Add stack support for xHCI 2013-10-20 23:42:38 +02:00
xhci-omap.c usb: host: xhci: make sure to power up PHY 2014-07-09 22:11:51 +02:00
xhci-ring.c USB: xHCI: Add stack support for xHCI 2013-10-20 23:42:38 +02:00
xhci.c usb: xhci: (likely) fix bracket in if condition 2014-06-25 22:43:16 +02:00
xhci.h driver/usb: include upper/lower_32_bits() from linux/compat.h 2014-07-22 07:44:24 -04:00