u-boot-brain/drivers/usb/host
Ran Wang 621ed49d3a usb: xhci: fix lack of short packet event trb handling
For bulk IN transfer, the codes will set ISP flag to request event TRB
being generated by xHC for the case of short packet. So when encountering
buffer-cross-64K-boundary (which we will divide payload and enqueuqe
more than 1 transfer TRB), and the first TRB ends up with a short packet
condition it will trigger an short packet code transfer event per that
flag and cause more than 1 event TRB generated for this transfer.

However, current codes will only handle the first transfer event TRB
then mark current transfer completed, causing next transfer
failure due to event TRB mis-match.

Such issue has been observed on some Layerscape platforms (LS1028A,
LS1088A, etc) with USB ethernet device.

This patch adds a loop to make sure the event TRB for last transfer TRB
has been handled in time.

Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-12-16 10:27:09 +01:00
..
dwc2.c usb: dwc2: Fix not calling dev_xxx with a device 2020-09-30 08:53:52 -04:00
dwc2.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dwc3-octeon-glue.c usb: dwc3: Include device_compat.h in dwc3-octeon-glue.c 2020-10-16 09:44:27 -04:00
dwc3-of-simple.c usb: dwc3-of-simple: Drop redundant inclding header file 2020-04-13 13:48:30 +02:00
dwc3-sti-glue.c treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
ehci-armada100.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
ehci-atmel.c treewide: convert devfdt_get_addr() to dev_read_addr() 2020-07-25 14:46:57 -06:00
ehci-exynos.c treewide: convert devfdt_get_addr() to dev_read_addr() 2020-07-25 14:46:57 -06:00
ehci-faraday.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
ehci-fsl.c treewide: convert devfdt_get_addr() to dev_read_addr() 2020-07-25 14:46:57 -06:00
ehci-generic.c dm: add cells_count parameter in *_count_phandle_with_args 2020-10-06 09:07:54 -06:00
ehci-hcd.c usb: host: ehci-hcd: change trace level for phy errors managed by uclass 2020-09-08 08:46:32 -04:00
ehci-marvell.c treewide: convert devfdt_get_addr() to dev_read_addr() 2020-07-25 14:46:57 -06:00
ehci-msm.c usb: ehci-msm: Use dev interface to get device address 2020-04-13 13:48:30 +02:00
ehci-mx5.c treewide: convert (void *)devfdt_get_addr() to dev_read_addr_ptr() 2020-07-25 14:46:57 -06:00
ehci-mx6.c treewide: convert (void *)devfdt_get_addr() to dev_read_addr_ptr() 2020-07-25 14:46:57 -06:00
ehci-mxc.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
ehci-mxs.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
ehci-omap.c treewide: convert (void *)devfdt_get_addr() to dev_read_addr_ptr() 2020-07-25 14:46:57 -06:00
ehci-pci.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
ehci-rmobile.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
ehci-spear.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
ehci-tegra.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
ehci-vct.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ehci-vf.c treewide: convert (void *)devfdt_get_addr() to dev_read_addr_ptr() 2020-07-25 14:46:57 -06:00
ehci-zynq.c treewide: convert devfdt_get_addr_ptr() to dev_read_addr_ptr() 2020-08-22 08:53:37 -06:00
ehci.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
Kconfig usb: xhci: octeon: Add DWC3 glue layer for Octeon 2020-10-07 20:25:57 +02:00
Makefile usb: xhci: octeon: Add DWC3 glue layer for Octeon 2020-10-07 20:25:57 +02:00
ohci-at91.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ohci-da8xx.c dm: add cells_count parameter in *_count_phandle_with_args 2020-10-06 09:07:54 -06:00
ohci-ep93xx.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ohci-generic.c dm: add cells_count parameter in *_count_phandle_with_args 2020-10-06 09:07:54 -06:00
ohci-hcd.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
ohci-lpc32xx.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
ohci-pci.c usb, ohci, pci: add DM support for PCI-based OHCI USB controller 2019-08-08 11:35:02 +02:00
ohci.h usb: ohci: Add header file for ARCH_DMA_MINALIGN 2020-06-02 13:06:10 -04:00
r8a66597-hcd.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
r8a66597.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
sl811-hcd.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
sl811.h drivers/usb: regorganisation 2009-04-06 20:40:46 +02:00
usb-sandbox.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
usb-uclass.c usb: ci_udc: Add function to remove usb device 2020-09-01 14:47:43 +02:00
utmi-armada100.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
xhci-brcm.c drivers: usb: host: Add BRCM xHCI driver 2020-04-13 13:48:41 +02:00
xhci-dwc3.c usb: xhci: xhci-dwc3.c: Use dev_remap_addr() instead of dev_get_addr() 2020-10-07 20:25:57 +02:00
xhci-exynos5.c treewide: convert devfdt_get_addr() to dev_read_addr() 2020-07-25 14:46:57 -06:00
xhci-fsl.c treewide: convert devfdt_get_addr() to dev_read_addr() 2020-07-25 14:46:57 -06:00
xhci-mem.c usb: xhci: avoid type conversion of void * 2020-10-20 00:48:58 +02:00
xhci-mtk.c usb: xhci: Include device_compat.h 2020-10-16 09:44:27 -04:00
xhci-mvebu.c treewide: convert devfdt_get_addr() to dev_read_addr() 2020-07-25 14:46:57 -06:00
xhci-omap.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
xhci-pci.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
xhci-rcar-r8a779x_usb3_v3.h usb: xhci: Add Renesas R-Car xHCI driver 2017-11-26 02:22:36 +01:00
xhci-rcar.c usb: xhci-rcar: Add support for R8A774A1 SoC 2020-10-01 19:43:05 +02:00
xhci-ring.c usb: xhci: fix lack of short packet event trb handling 2020-12-16 10:27:09 +01:00
xhci.c usb: xhci: Include device_compat.h 2020-10-16 09:44:27 -04:00