linux/drivers/usb/host
Faisal Hassan 075919f6df xhci: Fix Link TRB DMA in command ring stopped completion event
During the aborting of a command, the software receives a command
completion event for the command ring stopped, with the TRB pointing
to the next TRB after the aborted command.

If the command we abort is located just before the Link TRB in the
command ring, then during the 'command ring stopped' completion event,
the xHC gives the Link TRB in the event's cmd DMA, which causes a
mismatch in handling command completion event.

To address this situation, move the 'command ring stopped' completion
event check slightly earlier, since the specific command it stopped
on isn't of significant concern.

Fixes: 7f84eef0da ("USB: xhci: No-op command queueing and irq handler.")
Cc: stable@vger.kernel.org
Signed-off-by: Faisal Hassan <quic_faisalh@quicinc.com>
Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20241022155631.1185-1-quic_faisalh@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-10-29 04:23:59 +01:00
..
bcma-hcd.c
ehci-atmel.c
ehci-brcm.c usb: ehci-brcm: fix module autoloading 2024-08-25 13:45:56 +02:00
ehci-dbg.c
ehci-exynos.c usb: ehci-exynos: Simplify with scoped for each OF child loop 2024-08-22 17:17:29 +08:00
ehci-fsl.c
ehci-fsl.h
ehci-grlib.c
ehci-hcd.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ehci-hub.c
ehci-mem.c
ehci-mv.c
ehci-npcm7xx.c
ehci-omap.c
ehci-orion.c
ehci-pci.c
ehci-platform.c
ehci-ppc-of.c
ehci-ps3.c
ehci-q.c
ehci-sched.c
ehci-sh.c
ehci-spear.c
ehci-st.c
ehci-sysfs.c
ehci-timer.c
ehci-xilinx-of.c
ehci.h
fhci-dbg.c
fhci-hcd.c
fhci-hub.c
fhci-mem.c
fhci-q.c
fhci-sched.c
fhci-tds.c
fhci.h
fsl-mph-dr-of.c
isp116x-hcd.c
isp116x.h
isp1362-hcd.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
isp1362.h
Kconfig xhci-pci: Make xhci-pci-renesas a proper modular driver 2024-08-07 12:51:38 +02:00
Makefile
max3421-hcd.c
octeon-hcd.c
octeon-hcd.h
ohci-at91.c
ohci-da8xx.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ohci-dbg.c
ohci-exynos.c usb: ohci-exynos: Simplify with scoped for each OF child loop 2024-08-22 17:17:35 +08:00
ohci-hcd.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ohci-hub.c
ohci-mem.c
ohci-nxp.c usb: ohci-nxp: Use helper function devm_clk_get_enabled() 2024-09-03 09:53:34 +02:00
ohci-omap.c
ohci-pci.c
ohci-platform.c
ohci-ppc-of.c USB: ohci-ppc-of: Drop ohci-littledian compatible 2024-07-31 10:41:25 +02:00
ohci-ps3.c
ohci-pxa27x.c
ohci-q.c
ohci-s3c2410.c
ohci-sa1111.c
ohci-sm501.c
ohci-spear.c
ohci-st.c
ohci.h
oxu210hp-hcd.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
pci-quirks.c
pci-quirks.h
r8a66597-hcd.c usb: r8a66597-hcd: make read-only const arrays static 2024-09-13 07:41:27 +02:00
r8a66597.h
sl811_cs.c
sl811-hcd.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sl811.h
ssb-hcd.c
uhci-debug.c
uhci-grlib.c
uhci-hcd.c
uhci-hcd.h
uhci-hub.c
uhci-pci.c
uhci-platform.c
uhci-q.c
xen-hcd.c
xhci-caps.h
xhci-dbg.c
xhci-dbgcap.c xhci: dbc: Fix STALL transfer event handling 2024-09-05 16:39:21 +02:00
xhci-dbgcap.h xhci: dbc: honor usb transfer size boundaries. 2024-10-17 08:45:36 +02:00
xhci-dbgtty.c xhci: dbc: honor usb transfer size boundaries. 2024-10-17 08:45:36 +02:00
xhci-debugfs.c
xhci-debugfs.h
xhci-ext-caps.c
xhci-ext-caps.h xhci: Add USB4 tunnel detection for USB3 devices on Intel hosts 2024-09-03 09:54:39 +02:00
xhci-histb.c
xhci-hub.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
xhci-mem.c xhci: support setting interrupt moderation IMOD for secondary interrupters 2024-09-05 16:39:23 +02:00
xhci-mtk-sch.c
xhci-mtk.c
xhci-mtk.h
xhci-mvebu.c
xhci-mvebu.h
xhci-pci-renesas.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
xhci-pci.c xhci: Use pm_runtime_get to prevent RPM on unsupported systems 2024-10-29 04:23:36 +01:00
xhci-pci.h xhci-pci: Make xhci-pci-renesas a proper modular driver 2024-08-07 12:51:38 +02:00
xhci-plat.c usb: host: xhci-plat: Parse xhci-missing_cas_quirk and apply quirk 2024-09-11 15:37:52 +02:00
xhci-plat.h
xhci-port.h
xhci-rcar.c
xhci-ring.c xhci: Fix Link TRB DMA in command ring stopped completion event 2024-10-29 04:23:59 +01:00
xhci-rzv2m.c
xhci-rzv2m.h
xhci-tegra.c xhci: tegra: fix checked USB2 port number 2024-10-16 10:25:43 +02:00
xhci-trace.c
xhci-trace.h
xhci.c xhci: support setting interrupt moderation IMOD for secondary interrupters 2024-09-05 16:39:23 +02:00
xhci.h xhci: Fix incorrect stream context type macro 2024-10-17 08:45:36 +02:00