From df0f1692db9236a469496cc09fc7bd5faf31efad Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Apr 2015 09:31:44 +0200 Subject: xhci: fix events for setup trb. 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 --- hw/usb/hcd-xhci.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index 39aacf7..927dc36 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -1793,6 +1793,14 @@ static void xhci_xfer_report(XHCITransfer *xfer) return; } } + + switch (TRB_TYPE(*trb)) { + case TR_SETUP: + reported = 0; + shortpkt = 0; + break; + } + } } -- cgit v1.1