Re: [PATCH v7 0/2] media: uvcvideo: Add quirks to prevent Razer Kiyo Pro xHCI cascade failure

Michal Pecio
2026-04-13T20:40:44Z

On Thu, 9 Apr 2026 17:28:29 -0700, JP Hein wrote:
> The Razer Kiyo Pro (1532:0e05) is a USB 3.0 webcam whose firmware has
> a well-documented failure mode that cascades into complete xHCI host
> controller death, disconnecting every USB device on the bus --
> including keyboards and mice, requiring a hard reboot.

For the record, reloading xhci-pci is usually enough to fix this.

> The device has two crash triggers:
>
> 1. LPM/autosuspend resume: Device enters LPM or autosuspend, fails
> to reinitialize on resume, producing EPIPE (-32) on UVC SET_CUR.
> The stalled endpoint triggers an xHCI stop-endpoint timeout, and
> the kernel declares the host controller dead.
>
> 2. Rapid control transfers: sustained rapid UVC control operations
> (hundreds over several seconds) overwhelm the firmware.

That's a bit speculative, it's not entirely clear what happens here.
2 seems possible, but Stop Endpoint timeout and some weird error codes
seen in those logs looks like problems with the HC.

And I known that some HCs are reliably killed by stopping SuperSpeed
UVC streams, at least with my camera.

> Patch 1 of the original 3-patch series (USB_QUIRK_NO_LPM for
> 1532:0e05) has been merged by Greg Kroah-Hartman and backported to
> stable kernels 6.1, 6.6, 6.12, 6.18, and 6.19.
>
> This v7 series covers the remaining two UVC patches:
>
> Patch 1/2: UVC driver -- introduce UVC_QUIRK_CTRL_THROTTLE to
> rate-limit all USB control transfers (50ms minimum interval) in
> __uvc_query_ctrl().
>
> Patch 2/2: UVC driver -- add Razer Kiyo Pro device table entry with
> UVC_QUIRK_CTRL_THROTTLE, UVC_QUIRK_DISABLE_AUTOSUSPEND, and
> UVC_QUIRK_NO_RESET_RESUME.

Do these patches actually make a practical difference?

If I'm not mistaken, the results of testing on 6.17 are:

1. The original trigger (spamming UVC control requests alone) doesn't
cause breakage anymore.

2. New problems are seen when doing the above while streaming video,
and they are still seen even with the UVC patches applied.