linux/drivers/usb/host
Jonathan Bell 5255660b20 xhci: add quirk for host controllers that don't update endpoint DCS
Seen on a VLI VL805 PCIe to USB controller. For non-stream endpoints
at least, if the xHC halts on a particular TRB due to an error then
the DCS field in the Out Endpoint Context maintained by the hardware
is not updated with the current cycle state.

Using the quirk XHCI_EP_CTX_BROKEN_DCS and instead fetch the DCS bit
from the TRB that the xHC stopped on.

[ bjorn: rebased to v5.14-rc2 ]

Link: https://github.com/raspberrypi/linux/issues/3060
Cc: stable@vger.kernel.org
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20211008092547.3996295-3-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-10-11 07:42:18 +02:00
..
bcma-hcd.c Revert "USB: bcma: Add a check for devm_gpiod_get" 2021-09-14 10:34:15 +02:00
ehci-atmel.c
ehci-brcm.c USB: EHCI: Add alias for Broadcom INSNREG 2021-08-18 22:28:28 +02:00
ehci-dbg.c usb: host: Use fallthrough pseudo-keyword 2020-07-10 08:55:18 +02:00
ehci-exynos.c usb: host: ehci-exynos: Fix error check in exynos_ehci_probe() 2020-06-18 10:40:57 +02:00
ehci-fsl.c fsl-usb: add need_oc_pp_cycle flag for 85xx also 2021-05-21 14:04:57 +02:00
ehci-fsl.h
ehci-grlib.c
ehci-hcd.c usb: ehci: Simplify platform driver registration 2021-09-14 10:33:52 +02:00
ehci-hub.c usb: host: move EH SINGLE_STEP_SET_FEATURE implementation to core 2021-05-13 16:01:59 +02:00
ehci-mem.c
ehci-mv.c USB: EHCI: ehci-mv: improve error handling in mv_ehci_enable() 2021-07-21 10:04:41 +02:00
ehci-npcm7xx.c usb/host: ehci-npcm7xx: Use pm_ptr() macro 2020-09-04 16:54:47 +02:00
ehci-omap.c usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe 2020-12-09 14:33:45 +01:00
ehci-orion.c usb: ehci-orion: Handle errors of clk_prepare_enable() in probe 2021-08-26 13:09:34 +02:00
ehci-pci.c USB:ehci:fix Kunpeng920 ehci hardware problem 2021-04-10 10:45:38 +02:00
ehci-platform.c usb: host: ehci-platform: add spurious_oc DT support 2021-03-23 12:37:05 +01:00
ehci-ppc-of.c
ehci-ps3.c powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
ehci-q.c usb: host: move EH SINGLE_STEP_SET_FEATURE implementation to core 2021-05-13 16:01:59 +02:00
ehci-sched.c usb: host: ehci-sched: add comment about find_tt() not returning error 2020-10-28 12:21:38 +01:00
ehci-sh.c
ehci-spear.c usb/host: ehci-spear: Use pm_ptr() macro 2020-09-04 16:54:45 +02:00
ehci-st.c
ehci-sysfs.c
ehci-timer.c
ehci-xilinx-of.c
ehci.h usb: ehci: add spurious flag to disable overcurrent checking 2021-03-23 12:36:17 +01:00
fhci-dbg.c
fhci-hcd.c
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c USB/Thunderbolt patches for 5.9-rc1 2020-08-05 12:13:10 -07:00
fhci-tds.c usb: host: fhci-tds: Remove unused variables 'buf' and 'extra_data' 2020-07-09 17:19:59 +02:00
fhci.h
fotg210-hcd.c usb: host: fotg210: fix the actual_length of an iso packet 2021-07-21 10:03:42 +02:00
fotg210.h usb: host: fotg210: fix the actual_length of an iso packet 2021-07-21 10:03:42 +02:00
fsl-mph-dr-of.c usb: host: fsl-mph-dr-of: check return of dma_set_mask() 2020-10-28 13:19:31 +01:00
isp116x-hcd.c USB: host: isp116x: remove dentry pointer for debugfs 2021-03-10 09:37:15 +01:00
isp116x.h USB: host: isp116x: remove dentry pointer for debugfs 2021-03-10 09:37:15 +01:00
isp1362-hcd.c USB: host: isp1362: remove dentry pointer for debugfs 2021-03-10 09:37:15 +01:00
isp1362.h USB: host: isp1362: remove dentry pointer for debugfs 2021-03-10 09:37:15 +01:00
Kconfig usb: host: remove dead EHCI support for on-chip PMC MSP71xx USB controller 2021-08-18 15:32:19 +02:00
Makefile usb: xhci-mtk: support to build xhci-mtk-hcd.ko 2021-03-10 09:37:17 +01:00
max3421-hcd.c usb: max-3421: Prevent corruption of freed memory 2021-07-21 09:47:15 +02:00
ohci-at91.c usb: host: ohci-at91: suspend/resume ports after/before OHCI accesses 2021-07-27 16:31:17 +02:00
ohci-da8xx.c
ohci-dbg.c
ohci-exynos.c usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe() 2020-08-27 09:25:58 +02:00
ohci-hcd.c usb: fix a few cases of -Wfallthrough 2020-11-13 15:20:52 +01:00
ohci-hub.c usb: fix a few cases of -Wfallthrough 2020-11-13 15:20:52 +01:00
ohci-mem.c
ohci-nxp.c
ohci-omap.c ARM: omap1: move omap15xx local bus handling to usb.c 2021-10-05 15:39:50 +02:00
ohci-pci.c USB: OHCI: remove obsolete FIXME comment 2020-06-19 08:58:44 +02:00
ohci-platform.c
ohci-ppc-of.c
ohci-ps3.c powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
ohci-pxa27x.c usb: hosts: Remove in_interrupt() from comments 2020-10-28 12:32:12 +01:00
ohci-q.c USB: OHCI: Use fallthrough pseudo-keyword 2020-07-10 08:55:18 +02:00
ohci-s3c2410.c usb: hosts: Remove in_interrupt() from comments 2020-10-28 12:32:12 +01:00
ohci-sa1111.c ARM: 9048/1: sa1111: make sa1111 bus's remove callback return void 2021-02-01 19:42:13 +00:00
ohci-sm501.c USB: ohci-sm501: Add missed iounmap() in remove 2020-06-18 10:42:53 +02:00
ohci-spear.c usb: host: ohci-spear: simplify calling usb_add_hcd() 2021-07-21 10:05:05 +02:00
ohci-st.c
ohci-tmio.c usb: host: ohci-tmio: add IRQ check 2021-08-16 18:57:18 +02:00
ohci.h usb: host: ohci: Mark cc_to_error as __maybe_unused 2020-07-03 10:18:40 +02:00
oxu210hp-hcd.c usb: oxu210hp-hcd: Fix memory leak in oxu_create 2020-12-09 15:25:21 +01:00
pci-quirks.c usb: pci-quirks: convert to readl_poll_timeout_atomic() 2020-09-25 16:30:05 +02:00
pci-quirks.h
r8a66597-hcd.c usb: host: r8a66597-hcd: Remove set, then over-written, but never used variable 'tmp' 2020-07-09 17:19:57 +02:00
r8a66597.h
sl811_cs.c usb: host: Mundane spello fix in the file sl811_cs.c 2021-03-18 09:02:27 +01:00
sl811-hcd.c usb: sl811-hcd: improve misleading indentation 2021-03-23 12:38:11 +01:00
sl811.h USB: host: sl811: remove dentry pointer for debugfs 2021-03-10 09:37:15 +01:00
ssb-hcd.c
u132-hcd.c usb: host: u132-hcd: remove redundant continue statements 2021-06-17 15:31:50 +02:00
uhci-debug.c
uhci-grlib.c
uhci-hcd.c USB: host: uhci: remove dentry pointer for debugfs 2021-03-10 09:37:15 +01:00
uhci-hcd.h USB: host: uhci: remove dentry pointer for debugfs 2021-03-10 09:37:15 +01:00
uhci-hub.c
uhci-pci.c
uhci-platform.c
uhci-q.c
xhci-dbg.c
xhci-dbgcap.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
xhci-dbgcap.h xhci: dbc: remove tty specific port structure from struct xhci_dbc 2020-07-23 17:05:29 +02:00
xhci-dbgtty.c tty: drop put_tty_driver 2021-07-27 12:17:21 +02:00
xhci-debugfs.c xhci: fix even more unsafe memory usage in xhci tracing 2021-08-26 13:06:02 +02:00
xhci-debugfs.h usb: xhci: add debugfs support for ep with stream 2020-09-20 16:18:00 +02:00
xhci-ext-caps.c xhci: ext-caps: Use software node API with the properties 2021-02-05 10:08:19 +01:00
xhci-ext-caps.h usb: xhci: Increase timeout for HC halt 2021-05-13 14:47:36 +02:00
xhci-histb.c xhci: hisilicon: fix refercence leak in xhci_histb_probe 2020-11-13 14:32:43 +01:00
xhci-hub.c xhci: Add bus number to some debug messages 2021-08-26 13:06:03 +02:00
xhci-mem.c xhci: solve a double free problem while doing s4 2021-06-17 17:34:29 +02:00
xhci-mtk-sch.c usb: xhci-mtk: allow bandwidth table rollover 2021-08-27 10:24:51 +02:00
xhci-mtk.c usb: xhci-mtk: modify the SOF/ITP interval for mt8195 2021-08-26 13:39:21 +02:00
xhci-mtk.h usb: xhci-mtk: allow bandwidth table rollover 2021-08-27 10:24:51 +02:00
xhci-mvebu.c usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720 2021-02-03 11:26:47 +01:00
xhci-mvebu.h usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720 2021-02-03 11:26:47 +01:00
xhci-pci-renesas.c USB/Thunderbolt patches for 5.15-rc1 2021-09-01 09:59:34 -07:00
xhci-pci.c xhci: add quirk for host controllers that don't update endpoint DCS 2021-10-11 07:42:18 +02:00
xhci-pci.h usb: renesas-xhci: Remove renesas_xhci_pci_exit() 2021-07-21 10:05:59 +02:00
xhci-plat.c Revert "usb: host: xhci-plat: Create platform device for onboard hubs in probe()" 2021-06-18 08:37:19 +02:00
xhci-plat.h usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720 2021-02-03 11:26:47 +01:00
xhci-rcar.c usb: host: xhci-rcar: Don't reload firmware after the completion 2021-08-27 10:24:58 +02:00
xhci-rcar.h
xhci-ring.c xhci: add quirk for host controllers that don't update endpoint DCS 2021-10-11 07:42:18 +02:00
xhci-tegra.c usb: xhci: tegra: mark PM functions as __maybe_unused 2021-10-05 13:38:54 +02:00
xhci-trace.c
xhci-trace.h xhci: fix even more unsafe memory usage in xhci tracing 2021-08-26 13:06:02 +02:00
xhci.c xhci: guard accesses to ep_state in xhci_endpoint_reset() 2021-10-11 07:42:18 +02:00
xhci.h xhci: add quirk for host controllers that don't update endpoint DCS 2021-10-11 07:42:18 +02:00