summary refs log tree commit diff stats
path: root/hw/usb/redirect.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2012-11-15 14:14:59 +0100
committerGerd Hoffmann <kraxel@redhat.com>2012-11-16 11:27:32 +0100
commit2cb343b442c98b45d1187f5691c45b3c114f3b04 (patch)
tree3b74e6e7bd3857d44a20fc23dfb0aa6272dc4880 /hw/usb/redirect.c
parent55903f1d2d8abfa8d7610ab32a4046a1ed4fdbb8 (diff)
downloadfocaccia-qemu-2cb343b442c98b45d1187f5691c45b3c114f3b04.tar.gz
focaccia-qemu-2cb343b442c98b45d1187f5691c45b3c114f3b04.zip
usb-redir: Only add actually in flight packets to the in flight queue
Packets which are queued up, but not yet handed over to the device, are
*not* in flight.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb/redirect.c')
-rw-r--r--hw/usb/redirect.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index be9a232059..32ae1034cc 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -342,7 +342,9 @@ static void usbredir_fill_already_in_flight_from_ep(USBRedirDevice *dev,
         if (p->combined && p != p->combined->first) {
             continue;
         }
-        packet_id_queue_add(&dev->already_in_flight, p->id);
+        if (p->state == USB_PACKET_ASYNC) {
+            packet_id_queue_add(&dev->already_in_flight, p->id);
+        }
     }
 }