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) {
#define for_each_transfer_safe(ctx, t, n) \
__for_each_transfer_safe(&(ctx)->flying_transfers, t, n)
+#define __for_each_completed_transfer_safe(list, t, n) \
+ list_for_each_entry_safe(t, n, (list), completed_list, struct usbi_transfer)
+
#define for_each_event_source(ctx, e) \
for_each_helper(e, &(ctx)->event_sources, struct usbi_event_source)