[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/7] usb: queue can have async packets
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 2/7] usb: queue can have async packets |
Date: |
Fri, 2 Mar 2012 14:19:25 +0100 |
This can happen today in case the ->complete() callback queues up the
next packet. Also we'll support pipelining soon, which allows to have
multiple packets per queue in flight (aka ASYNC) state.
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/usb.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/hw/usb.c b/hw/usb.c
index 57fc5e3..fc41d62 100644
--- a/hw/usb.c
+++ b/hw/usb.c
@@ -356,6 +356,9 @@ void usb_packet_complete(USBDevice *dev, USBPacket *p)
while (!QTAILQ_EMPTY(&ep->queue)) {
p = QTAILQ_FIRST(&ep->queue);
+ if (p->state == USB_PACKET_ASYNC) {
+ break;
+ }
assert(p->state == USB_PACKET_QUEUED);
ret = usb_process_one(p);
if (ret == USB_RET_ASYNC) {
--
1.7.1
- [Qemu-devel] [PATCH 0/7] usb: packet pipelining, Gerd Hoffmann, 2012/03/02
- [Qemu-devel] [PATCH 4/7] usb-host: enable pipelineing for bulk endpoints., Gerd Hoffmann, 2012/03/02
- [Qemu-devel] [PATCH 1/7] uhci_fill_queue: zap debug printf, Gerd Hoffmann, 2012/03/02
- [Qemu-devel] [PATCH 2/7] usb: queue can have async packets,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH 7/7] xhci: fix port status, Gerd Hoffmann, 2012/03/02
- [Qemu-devel] [PATCH 3/7] usb: add pipelining option to usb endpoints, Gerd Hoffmann, 2012/03/02
- [Qemu-devel] [PATCH 6/7] xhci: fix control xfers, Gerd Hoffmann, 2012/03/02
- [Qemu-devel] [PATCH 5/7] usb: add shortcut for control transfers, Gerd Hoffmann, 2012/03/02