xhci: fix events for setup trb.
authorGerd Hoffmann <kraxel@redhat.com>
Tue, 28 Apr 2015 07:31:44 +0000 (09:31 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 8 May 2015 11:01:06 +0000 (13:01 +0200)
When we find a IOC bit set on a setup trb and therefore queue an event,
that should not stop events being generated for following data trbs.
So clear the 'reported' flag.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/usb/hcd-xhci.c

index 39aacf7..927dc36 100644 (file)
@@ -1793,6 +1793,14 @@ static void xhci_xfer_report(XHCITransfer *xfer)
                 return;
             }
         }
+
+        switch (TRB_TYPE(*trb)) {
+        case TR_SETUP:
+            reported = 0;
+            shortpkt = 0;
+            break;
+        }
+
     }
 }