[PATCH v2 0/2] USB: serial: ftdi_sio: latency_timer reliability fixes

From: Chinna Mopurigari Naveen Kumar Reddy

Date: Mon Jun 22 2026 - 05:45:37 EST


v2: Drop patches 1, 4, 5, 6 from v1 per Greg Kroah-Hartman's review.

Patches 1 and 6 used module parameters (urb_defer_timer_ns and
low_latency_defer_ns) to address DMA-channel starvation on a host
controller that does not enforce DMA-channel fairness. Greg correctly
pointed out that the host controller driver is the right place to fix
that, and that ftdi_sio should not carry per-driver workarounds for an
out-of-tree host controller deficiency. Those patches are dropped.

Patches 4 and 5 (per-port low_latency sysfs attribute and its
serialisation fix) depended on the hrtimer infrastructure introduced
by the dropped patch 1 and have no standalone purpose without it.
They are dropped too.

This v2 contains only the two patches that are independent correctness
fixes for ftdi_sio itself:

1. Retry transient errors (-ETIMEDOUT / -EPIPE / -EPROTO) on
chip-side control transfers so that a single transient USB hiccup
under bus load does not fail an otherwise-healthy one-shot
configuration (e.g. a latency_timer sysfs write) back to
userspace as -EIO.

2. Make an explicit sysfs write to latency_timer authoritative so
that a userspace write is not silently clamped to 1 by the
ASYNC_LOW_LATENCY tty flag left set by an earlier TIOCSSERIAL
(setserial(8), libftdi, certain tcsetattr paths).

Chinna Mopurigari Naveen Kumar Reddy (2):
USB: serial: ftdi_sio: retry transient errors on chip-side control
transfers
USB: serial: ftdi_sio: make explicit latency_timer sysfs write
authoritative

drivers/usb/serial/ftdi_sio.c | 65 +++++++++++++++++++++++++++++++----
1 file changed, 58 insertions(+), 7 deletions(-)


base-commit: ba3e43a9e601636f5edb54e259a74f96ca3b8fd8
--
2.43.0