From a88b2ad349429879205e0c47df21392911efea58 Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Wed, 3 Jul 2013 16:40:53 -0400 Subject: [PATCH] usb_queue: Transfer needs to be added to queue in both paths --- firmware/hackrf_usb/usb_queue.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/firmware/hackrf_usb/usb_queue.c b/firmware/hackrf_usb/usb_queue.c index 0aa3a3c3..c0b5f7d7 100644 --- a/firmware/hackrf_usb/usb_queue.c +++ b/firmware/hackrf_usb/usb_queue.c @@ -139,13 +139,13 @@ void usb_transfer_schedule( fill_in_transfer(transfer, data, maximum_length); transfer->completion_cb = completion_cb; // TODO: disable_interrupts(); + endpoint_add_transfer(endpoint, transfer); usb_transfer_t* tail = endpoint_transfers[index]; if (tail == NULL) { usb_endpoint_schedule_wait(endpoint, &transfer->td); } else { - for (; tail->next != NULL; tail = tail->next); - endpoint_add_transfer(endpoint, transfer); - usb_endpoint_schedule_append(endpoint, &tail->td, &transfer->td); + for (; tail->next != NULL; tail = tail->next); + usb_endpoint_schedule_append(endpoint, &tail->td, &transfer->td); } //enable_interrupts(); }