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

Reply via email to