From: Junjie Cao <[email protected]> Peter's discussion of isochronous endpoint mismatches highlighted the lack of tests as a concern for moving the checks into the USB core [1]. This series adds transfer tests motivated by that discussion, without changing controller or USB core code.
The tests cover EHCI control transfers and isochronous IN/OUT requests to EP0, UHCI interrupt retries and isochronous completion on NAK, and successful UHCI/xHCI isochronous OUT transfers to USB audio. The audio tests configure the device and enable its streaming interface through EP0 before submitting a packet. These cases exercise both rejection/retry behavior and successful isochronous transfers. EHCI isochronous success and USB_RET_ASYNC completion remain outside the coverage of this series. Suggestions for other transfer paths to cover in follow-up patches are welcome. [1] https://lore.kernel.org/qemu-devel/cafeaca8jcnzvt9quffog4gzrwt8zpyskboy9r-sxmttraz6...@mail.gmail.com/ Junjie Cao (7): tests/qtest/usb-hcd-ehci: Test a control transfer tests/qtest/usb-hcd-ehci: Cover isochronous IN to EP0 tests/qtest/usb-hcd-ehci: Cover isochronous OUT to EP0 tests/qtest/usb-hcd-uhci: Test interrupt NAK retries tests/qtest/usb-hcd-uhci: Test isochronous NAK completion tests/qtest/usb-hcd-uhci: Test a successful isochronous transfer tests/qtest/usb-hcd-xhci: Test a successful isochronous transfer tests/qtest/usb-hcd-ehci-test.c | 208 +++++++++++++++++++++++++++++ tests/qtest/usb-hcd-uhci-test.c | 229 ++++++++++++++++++++++++++++++++ tests/qtest/usb-hcd-xhci-test.c | 95 ++++++++++++- 3 files changed, 526 insertions(+), 6 deletions(-) base-commit: ed698be7700160c74d24ef7830adccd2a28d840a -- 2.43.0
