diff --git a/host/libhackrf/src/hackrf.c b/host/libhackrf/src/hackrf.c index 1a14ee75..1be670ae 100644 --- a/host/libhackrf/src/hackrf.c +++ b/host/libhackrf/src/hackrf.c @@ -1830,8 +1830,15 @@ hackrf_libusb_transfer_callback(struct libusb_transfer* usb_transfer) if (resubmit && result == LIBUSB_SUCCESS) return; } else if (device->flush) { - libusb_submit_transfer(device->flush_transfer); + result = libusb_submit_transfer(device->flush_transfer); + if (result != LIBUSB_SUCCESS) { + device->streaming = false; + device->flush = false; + } } + } else { + device->streaming = false; + device->flush = false; } // Unless we resubmitted this transfer and returned above,