3
0
Fork 0
forked from mirrors/linux
kernel/drivers/usb
Mathias Nyman cab63934c3 xhci: dbc: Avoid event polling busyloop if pending rx transfers are inactive.
Event polling delay is set to 0 if there are any pending requests in
either rx or tx requests lists. Checking for pending requests does
not work well for "IN" transfers as the tty driver always queues
requests to the list and TRBs to the ring, preparing to receive data
from the host.

This causes unnecessary busylooping and cpu hogging.

Only set the event polling delay to 0 if there are pending tx "write"
transfers, or if it was less than 10ms since last active data transfer
in any direction.

Cc: Ɓukasz Bartosik <ukaszb@chromium.org>
Fixes: fb18e5bb96 ("xhci: dbc: poll at different rate depending on data transfer activity")
Cc: stable@vger.kernel.org
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250505125630.561699-3-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-05-05 16:30:45 +02:00
..
atm treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
c67x00 usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
cdns3 usb: cdnsp: fix L1 resume issue for RTL_REVISION_NEW_LPM version 2025-05-01 17:40:21 +02:00
chipidea usb: chipidea: ci_hdrc_imx: implement usb_phy_init() error handling 2025-04-11 16:20:52 +02:00
class usb: usbtmc: Fix erroneous generic_read ioctl return 2025-05-02 09:28:54 +02:00
common usb: common: usb-conn-gpio: switch psy_cfg from of_node to fwnode 2025-03-14 09:17:09 +01:00
core usb: quirks: Add delay init quirk for SanDisk 3.2Gen1 Flash Drive 2025-04-15 14:31:38 +02:00
dwc2 treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
dwc3 usb: dwc3: gadget: Make gadget_wakeup asynchronous 2025-05-01 17:38:55 +02:00
early
fotg210 usb: fotg210-hcd: Switch to use hrtimer_setup() 2025-02-18 11:19:02 +01:00
gadget usb: gadget: Use get_status callback to set remote wakeup capability 2025-05-01 17:38:51 +02:00
host xhci: dbc: Avoid event polling busyloop if pending rx transfers are inactive. 2025-05-05 16:30:45 +02:00
image scsi: Rename .slave_alloc() and .slave_destroy() 2024-12-04 15:34:28 -05:00
isp1760 treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
misc usb: misc: onboard_usb_dev: fix support for Cypress HX3 hubs 2025-05-01 17:39:59 +02:00
mon drivers/usb/mon: refactor min with min_t 2024-11-13 15:09:51 +01:00
mtu3 Driver core and debugfs updates 2025-01-28 12:25:12 -08:00
musb treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
phy treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
renesas_usbhs usb: renesas_usbhs: Flush the notify_hotplug_work 2025-03-03 10:20:14 +01:00
roles usb: roles: set switch registered flag early on 2025-02-14 09:26:25 +01:00
serial USB: serial: simple: add OWON HDS200 series oscilloscope support 2025-04-16 08:38:22 +02:00
storage USB: storage: quirk for ADATA Portable HDD CH94 2025-04-11 16:25:58 +02:00
typec usb: typec: tcpm: delay SNK_TRY_WAIT_DEBOUNCE to SRC_TRYWAIT transition 2025-05-01 17:41:03 +02:00
usbip usbip: Correct format specifier for seqnum from %d to %u 2025-01-17 12:38:01 +01: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