summaryrefslogtreecommitdiff
path: root/libusb/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'libusb/io.c')
-rw-r--r--libusb/io.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libusb/io.c b/libusb/io.c
index 8363628..bf2b5fa 100644
--- a/libusb/io.c
+++ b/libusb/io.c
@@ -1523,6 +1523,10 @@ int API_EXPORTED libusb_submit_transfer(struct libusb_transfer *transfer)
usbi_mutex_unlock(&itransfer->lock);
return r;
}
+ /*
+ * We must release the flying transfers lock here, because with
+ * some backends the submit_transfer method is synchroneous.
+ */
usbi_mutex_unlock(&ctx->flying_transfers_lock);
r = usbi_backend->submit_transfer(itransfer);