summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--hw/usb-xhci.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/hw/usb-xhci.c b/hw/usb-xhci.c
index 5e618f0db2..7682126e93 100644
--- a/hw/usb-xhci.c
+++ b/hw/usb-xhci.c
@@ -1721,10 +1721,14 @@ static void xhci_kick_ep(XHCIState *xhci, unsigned int slotid, unsigned int epid
             }
         }
 
+        if (epctx->state == EP_HALTED) {
+            DPRINTF("xhci: ep halted, stopping schedule\n");
+            break;
+        }
+
         /*
          * Qemu usb can't handle multiple in-flight xfers.
-         * Also xfers might be finished here already,
-         * possibly with an error.  Stop here for now.
+         * Stop here for now.
          */
         break;
     }