This is a suggestion that would really help anyone using trying to use xhci passthrough on a platform without streams.
** Changed in: qemu Status: Incomplete => New -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1843711 Title: qemu-xhci device should detect if libusb host supports streams Status in QEMU: New Bug description: When using USBÂ passthrough with the qemu-xhci (and nec-usb-xhci), streams are enabled by default, but if the host xHCI controller doesn't support them, it will trigger hard-to-debug UAS guest errors. This should be possible to detect since the kernel returns ENOSYS (errno 38) when xhci host controller does not support streams: libusb: error [do_streams_ioctl] streams-ioctl failed error -1 errno 38 qemu: libusb_alloc_streams: -99 [OTHER] Maybe libusb should return a dedicated error instead of LIBUSB_ERROR_OTHER in this case, but qemu does not handle any other error code anyway. Just trying to enable streams before enabling them in qemu should do it. I don't know if it should be done in hcd-xhci.c, host-libusb.c or elsewhere, but this would be detectable at launch instead of a static option true/false, maybe a ternary with auto would be better. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1843711/+subscriptions