Packets which are queued up, but not yet handed over to the device, are *not* in flight.
Signed-off-by: Hans de Goede <hdego...@redhat.com> --- hw/usb/redirect.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index d9236c5..4cd32d6 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -352,7 +352,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); + } } } -- 1.7.12.1