From be141de49e7e620ca76b5d60fd5ee287fa16d0ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Danis?= Date: Thu, 27 Apr 2023 11:49:44 +0200 Subject: Fix BulkTransfer out-of-order reply MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The reply to an out-of-order outgoing BulkTransfer may be also out-of-order Currently we can get: found in-order BulkTransfer:Endpoint=0x01,Data=…,Length=0x25 at position 315 found in-order BulkTransfer:Endpoint=0x82,Data=…,Length=0x25 at position 316 … found out-of-order BulkTransfer:Endpoint=0x01,Data=…,Length=0x25 at position 312 found in-order BulkTransfer:Endpoint=0x82,Data=…,Length=0x25 at position 320 while expecting: found in-order BulkTransfer:Endpoint=0x01,Data=…,Length=0x25 at position 315 found in-order BulkTransfer:Endpoint=0x82,Data=…,Length=0x25 at position 316 … found out-of-order BulkTransfer:Endpoint=0x01,Data=…,Length=0x25 at position 312 found in-order BulkTransfer:Endpoint=0x82,Data=…,Length=0x25 at position 314 … found in-order BulkTransfer:Endpoint=0x01,Data=…,Length=0x25 at position 319 found in-order BulkTransfer:Endpoint=0x82,Data=…,Length=0x25 at position 320 --- gusb/gusb-device.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gusb/gusb-device.c b/gusb/gusb-device.c index 949137c..e93d85f 100644 --- a/gusb/gusb-device.c +++ b/gusb/gusb-device.c @@ -887,6 +887,7 @@ g_usb_device_load_event(GUsbDevice *self, const gchar *id) if (g_strcmp0(g_usb_device_event_get_id(event), id) == 0) { if (_g_usb_context_has_flag(priv->context, G_USB_CONTEXT_FLAGS_DEBUG)) g_debug("found out-of-order %s at position %u", id, i); + priv->event_idx = i + 1; return event; } } -- cgit v1.2.1