Re: [PATCH v3 0/5] xHCI: Isochronous error handling fixes and improvements

Mathias Nyman
2025-02-26T12:40:46Z

On 26.2.2025 9.02, Michal Pecio wrote:
> These patches reduce latency of error reporting in some cases related
> to 'error mid TD' and Missed Service events and sometimes fix a failure
> to give back such TDs altogether until they are cancelled.
>
> Also included are fixes for potential packet loss or memory corruption
> due to obscure races. Whether it causes problems IRL is not known and
> the worst case would be hard to reproduce, but exactly for this reason
> if the worst case actually happens, it could be hard to debug too.
>
> The first three should be safe. The fourth should also be safe, but it
> relies on HC functionality Linux never relied on before, so I placed it
> towards the end in case it would need some tweaks. I tested it on all
> hardware I have and it worked just fine.
>
> The last one is perhaps the most controversial, though it should be
> OK with typical "complete -> resubmit" drivers. It's the only one here
> which increases latency in some severe error cases. The intent is to
> avoid potentially giving back URBs not yet executed by hardware.
>
> New in v3:
> - dropped the cleanup patch
> - added Don't skip on Stopped - Length Invalid
>
> New in v3:
> - fixed spurious empty list warning on xrun
> - clear skip flag if one skipped event was the last
>
> Michal Pecio (5):
> usb: xhci: Don't skip on Stopped - Length Invalid
> usb: xhci: Complete 'error mid TD' transfers when handling Missed
> Service
> usb: xhci: Fix isochronous Ring Underrun/Overrun event handling
> usb: xhci: Expedite skipping missed isoch TDs on modern HCs
> usb: xhci: Skip only one TD on Ring Underrun/Overrun
>

Updated my for-usb-next branch to this v3 version

Thanks
Mathias