summaryrefslogtreecommitdiff
path: root/libusb/io.c
diff options
context:
space:
mode:
authorChris Dickens <christopher.a.dickens@gmail.com>2020-10-15 21:40:19 -0700
committerChris Dickens <christopher.a.dickens@gmail.com>2020-10-15 21:40:19 -0700
commitc33990a300674e24f47ff0f172f7efb10b63b88a (patch)
treef6b8b32fddf8ce88a96a7846845fdedd8acd5e61 /libusb/io.c
parentc71c991003f592d3b6357fe58d0103e99371fbbb (diff)
downloadlibusb-c33990a300674e24f47ff0f172f7efb10b63b88a.tar.gz
core: Iterate over completed transfers using the correct list node
Commit 006ca0fbaa ("Guard against getting stuck while handling events") caused a regression using the wrong list node when iterating a list. Fix this by introducing and using an alternate for_each iterator. Closes #796 Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
Diffstat (limited to 'libusb/io.c')
-rw-r--r--libusb/io.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libusb/io.c b/libusb/io.c
index bf6876e..0e960dd 100644
--- a/libusb/io.c
+++ b/libusb/io.c
@@ -2112,7 +2112,7 @@ static int handle_event_trigger(struct libusb_context *ctx)
list_cut(&completed_transfers, &ctx->completed_transfers);
usbi_mutex_unlock(&ctx->event_data_lock);
- __for_each_transfer_safe(&completed_transfers, itransfer, tmp) {
+ __for_each_completed_transfer_safe(&completed_transfers, itransfer, tmp) {
list_del(&itransfer->completed_list);
r = usbi_backend.handle_transfer_completion(itransfer);
if (r) {