mirror-linux/drivers/usb
Niklas Neronin 132dcf65fc usb: xhci: remove infinite loop prevention
If a buggy HW reports some unpredicted event (for example, an overrun event
following a MSE event while the EP ring is actually not empty), the driver
will never find the TD, and it will loop until the TD list is empty.

Before commits [1][2], the spin lock was released when giving back a URB in
the do-while loop. This could cause more TD to be added to TD list, causing
an infinite loop.

Because of commits [1][2] the spin lock is not released any more, thus the
infinite loop prevention is unnecessary and is removed.

[1], commit 0c03d89d0c ("xhci: Giveback urb in finish_td directly")
[2], commit 36dc01657b ("usb: host: xhci: Support running urb giveback in
			   tasklet context")

Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20240626124835.1023046-18-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:06 +02:00
..
atm usb: ueagle-atm: Use wait_event_freezable_timeout() in uea_wait() 2024-01-04 15:57:29 +01:00
c67x00
cdns3 usb: cdns3-ti: Add workaround for Errata i2409 2024-06-04 15:41:10 +02:00
chipidea usb: chipidea: ci_hdrc_tegra: Switch to RUNTIME_PM_OPS() 2024-06-27 16:07:01 +02:00
class usb: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:52 +02:00
common usb: common: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:47 +02:00
core usb: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:52 +02:00
dwc2 usb: dwc2: gadget: Don't write invalid mapped sg entries into dma_desc with iommu enabled 2024-06-04 15:41:26 +02:00
dwc3 usb: dwc3: Support quirk for writing high-low order 2024-06-20 19:30:30 +02:00
early
fotg210 usb: fotg210: Add missing kernel doc description 2024-05-11 08:42:03 +01:00
gadget usb: gadget: aspeed_udc: validate endpoint index for ast udc 2024-06-27 16:07:30 +02:00
host usb: xhci: remove infinite loop prevention 2024-06-27 16:08:06 +02:00
image scsi: core: Add a dma_alignment field to the host and host template 2024-04-11 21:37:48 -04:00
isp1760 mm, slab: remove last vestiges of SLAB_MEM_SPREAD 2024-03-12 20:32:19 -07:00
misc usb: misc: onboard_usb_dev: Add match function 2024-06-27 16:06:51 +02:00
mon usb: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:52 +02:00
mtu3 tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
musb usb: musb: da8xx: Implement BABBLE recovery 2024-06-04 15:44:11 +02:00
phy usb: phy: add missing MODULE_DESCRIPTION() macros 2024-06-20 19:18:32 +02:00
renesas_usbhs usb: renesas_usbhs: Remove renesas_usbhs_get_info() wrapper 2024-04-18 16:47:49 +02:00
roles Merge v6.8-rc6 into usb-next 2024-02-26 06:53:50 +01:00
serial USB: serial: option: add Telit FN920C04 rmnet compositions 2024-04-18 17:14:49 +02:00
storage usb: uas: set host status byte on data completion error 2024-06-27 16:06:10 +02:00
typec usb: typec-mux: nb7vpq904m: broadcast typec state to next mux 2024-06-20 19:32:13 +02:00
usbip usbip: Don't submit special requests twice 2024-06-04 15:40:56 +02:00
Kconfig
Makefile USB: xen-hcd: Traverse host/ when CONFIG_USB_XEN_HCD is selected 2024-06-04 15:33:38 +02:00
usb-skeleton.c