Hi,
I'm currently testing QEMUs XHCI support with FreeBSD and found some
bugs in FreeBSDs XHCI aswell as QEMUs XHCI.
1) QEMU falsely reports a remainder of 8 bytes on TR_SETUP. This patch
fixes it. Can it be upstreamed?
--- ./work/qemu-2.3.0/hw/usb/hcd-xhci.c.orig 2016-08-22
16:07:30.877585000 +0200
+++ ./work/qemu-2.3.0/hw/usb/hcd-xhci.c 2016-08-22 16:08:19.240109000 +0200
@@ -1748,6 +1748,11 @@ static void xhci_xfer_report(XHCITransfe
unsigned int chunk = 0;
switch (TRB_TYPE(*trb)) {
+ case TR_SETUP:
+ chunk = trb->status & 0x1ffff;
+ if (chunk > 8)
+ chunk = 8;
+ break;
case TR_DATA:
case TR_NORMAL:
case TR_ISOCH:
Please CC me. I'm not subscribed.
--HPS