[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] usb: xhci: break loop after ctrl transfer complete
From: |
P J P |
Subject: |
[Qemu-devel] [PATCH] usb: xhci: break loop after ctrl transfer complete |
Date: |
Mon, 13 Feb 2017 13:25:58 +0530 |
From: Prasad J Pandit <address@hidden>
xHCI controller emulator loops through the transfer ring to
transfer control/data between host memory and device endpoints.
It continues to do so after processing 'Status Stage' TD which
is the last descriptor in control transfer. Add break to avoid
infinite loop.
Reported-by: Li Qiang <address@hidden>
Signed-off-by: Prasad J Pandit <address@hidden>
---
hw/usb/hcd-xhci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
index 54b3901..7e2d345 100644
--- a/hw/usb/hcd-xhci.c
+++ b/hw/usb/hcd-xhci.c
@@ -2252,6 +2252,7 @@ static void xhci_kick_epctx(XHCIEPContext *epctx,
unsigned int streamid)
if (xfer->complete) {
xhci_ep_free_xfer(xfer);
xfer = NULL;
+ break;
}
if (epctx->state == EP_HALTED) {
--
2.9.3
- [Qemu-devel] [PATCH] usb: xhci: break loop after ctrl transfer complete,
P J P <=