u-boot/drivers
Stefan Agner d5daa02d8d usb: xhci: reset endpoint on USB stall
There are devices which cause a USB stall when trying to read strings.
Specifically Arduino Mega R3 stalls when trying to read the product
string.

The stall currently remains unhandled, and subsequent retries submit new
transfers on a stopped endpoint which ultimately cause a crash in
abort_td():
WARN halted endpoint, queueing URB anyway.
XHCI control transfer timed out, aborting...
Unexpected XHCI event TRB, skipping... (3affe040 00000000 13000000 02008401)
BUG at drivers/usb/host/xhci-ring.c:505/abort_td()!
BUG!
resetting ...

Linux seems to be able to recover from the stall by issuing a
TRB_RESET_EP command.

Introduce reset_ep() which issues a TRB_RESET_EP followed by setting the
transfer ring dequeue pointer via TRB_SET_DEQ. This allows to properly
recover from a USB stall error and continue communicating with the USB
device.

Signed-off-by: Stefan Agner <stefan@agner.ch>
2022-02-16 17:11:31 +01:00
..
adc dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
ata Convert CONFIG_SCSI_AHCI_PLAT et al to Kconfig 2022-02-09 09:16:48 -05:00
axi WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
bios_emulator pci: Drop DM_PCI check from bios_emul 2021-08-05 19:46:35 -04:00
block Convert CONFIG_SYS_IDE_MAXBUS et al to Kconfig 2022-02-09 09:16:47 -05:00
bootcount bootcount: fix printf() code 2022-01-28 17:58:41 -05:00
bus bus: ti-sysc: change in a normal driver 2021-03-22 19:23:27 +13:00
button button: adc: set state to pressed when the voltage is closest to nominal 2022-02-11 09:00:47 -05:00
cache cache: sifive: Fix -Wint-to-pointer-cast warning 2021-10-20 10:59:09 +08:00
clk clk: clk-k3: Add support for J721S2 SoC 2022-02-08 09:41:27 -05:00
core acpi: Tidy up the item list 2022-01-25 11:44:36 -07:00
cpu sandbox: correct cpu nodes 2021-09-25 09:46:15 -06:00
crypto doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
ddr imx8ulp: ddr: Fix DDR frequency request issue 2022-02-05 13:38:39 +01:00
demo demo: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
dfu DFU: Check the number of arguments and argument string strictly 2022-02-11 11:29:23 -05:00
dma drivers: dma: Add support for J721S2 2022-02-08 09:41:27 -05:00
fastboot fastboot: only look up real partition names when no alias exists 2022-01-28 11:30:39 -05:00
firmware drivers: dma: Add support for J721S2 2022-02-08 09:41:27 -05:00
fpga arm: socfpga: arria10: Enable double peripheral RBF configuration 2021-12-17 12:58:01 +08:00
gpio GPIO: fxl6408: Add support for FXL6408 GPIO expander 2022-02-05 13:38:39 +01:00
hwspinlock treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
i2c i2c: muxes: pca954x: add PCA9847 variant 2022-02-01 15:08:07 +05:30
input input: apple: Add support for Apple SPI keyboard 2022-02-10 16:44:23 -05:00
iommu iommu: Add Apple DART driver 2021-10-31 08:46:44 -04:00
led dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
mailbox mailbox: apple: Add driver for Apple IOP mailbox 2022-02-10 16:44:23 -05:00
memory keystone2: Move CONFIG_AEMIF_CNTRL_BASE out of CONFIG namespace 2021-09-27 21:38:34 -04:00
misc drivers: misc: Makefile: Enable fs_loader compilation at SPL Level 2022-02-08 11:00:02 -05:00
mmc Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mmc 2022-02-09 11:40:27 -05:00
mtd mtd: cfi_mtd: populate mtd->dev with flash_info->dev 2022-02-01 10:56:25 +01:00
mux treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
net net: ti: am65-cpsw: Cleanup resources before jump to kernel 2022-02-03 12:15:35 -05:00
nvme nvme: apple: Add driver for Apple NVMe storage controller 2022-02-10 16:44:23 -05:00
pch treewide: Simply conditions with the new OF_REAL 2021-09-25 09:46:15 -06:00
pci pci: layerscape: update the searching compatible of LX2160A PCIe 2022-02-01 15:08:07 +05:30
pci_endpoint dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
phy phy: nop-phy: Enable reset-gpios support 2022-02-11 11:29:23 -05:00
pinctrl doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
power power: domain: apple: Add reset support 2022-02-10 16:44:23 -05:00
pwm exynos: pwm: Deal with a PWM at 100% 2021-11-09 11:57:22 +09:00
qe configs: fsl: migrate FMAN/QE specific defines to Kconfig 2021-11-09 17:18:23 +05:30
ram ram: k3-ddrss: Add support for J721S2 SoC 2022-02-08 09:41:27 -05:00
reboot-mode reboot-mode: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
remoteproc remoteproc: ipu: Add driver to bring up ipu 2022-02-08 11:00:03 -05:00
reset reset: dra7: Add a reset driver 2022-02-08 09:41:27 -05:00
rng Kconfig: Remove all default n/no options 2021-08-31 17:47:49 -04:00
rtc rtc: pcf2127: remove U-Boot specific compatible string 2022-02-01 15:08:07 +05:30
scsi Convert CONFIG_SCSI_AHCI_PLAT et al to Kconfig 2022-02-09 09:16:48 -05:00
serial Merge https://source.denx.de/u-boot/custodians/u-boot-riscv 2022-02-10 15:09:55 -05:00
smem dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
soc soc: soc_ti_k3: update j721e revision numbering 2022-02-08 09:41:27 -05:00
sound doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
spi spi: apple: Add driver for Apple SPI controller 2022-02-10 16:44:23 -05:00
spmi spmi: msm: add arbiter version 5 support 2021-10-31 08:46:44 -04:00
sysinfo sysinfo: rcar3: Add Renesas R-Car Gen3 sysinfo driver 2021-07-20 23:33:54 +02:00
sysreset Xilinx changes for v2022.04-rc1 2022-01-19 11:43:44 -05:00
tee tee: optee: remove unused duplicated login Id macros 2021-11-23 13:53:03 -05:00
thermal WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
timer omap: timer: implement timer_get_boot_us 2022-01-16 08:31:03 -05:00
tpm doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
ufs dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
usb usb: xhci: reset endpoint on USB stall 2022-02-16 17:11:31 +01:00
video Merge https://source.denx.de/u-boot/custodians/u-boot-marvell 2022-01-20 12:40:20 -05:00
virtio doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
w1 arm: Remove zmx25 board and ARCH_MX25 2021-10-01 21:08:18 -04:00
w1-eeprom dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
watchdog watchdog: Add a driver for the Apple watchdog 2022-01-13 06:55:46 +01:00
xen WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
Kconfig iommu: Add IOMMU uclass 2021-10-31 08:46:44 -04:00
Makefile iommu: Add IOMMU uclass 2021-10-31 08:46:44 -04:00