From 125bf9f7bb14c1f944d60cb6205095ac56e6939e Mon Sep 17 00:00:00 2001 From: Martin Ling Date: Fri, 18 Mar 2022 00:56:25 +0000 Subject: [PATCH] Don't call callback or submit new transfers once streaming stops. This stops the RX callback from being called again with further data once it has returned nonzero, or after a transfer had an error status. --- host/libhackrf/src/hackrf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/host/libhackrf/src/hackrf.c b/host/libhackrf/src/hackrf.c index 528b278e..23d21e88 100644 --- a/host/libhackrf/src/hackrf.c +++ b/host/libhackrf/src/hackrf.c @@ -1737,7 +1737,7 @@ static void LIBUSB_CALL hackrf_libusb_transfer_callback(struct libusb_transfer* .tx_ctx = device->tx_ctx }; - if( device->callback(&transfer) == 0 ) + if (device->streaming && device->callback(&transfer) == 0) { // Take lock to make sure that we don't restart a // transfer whilst cancel_transfers() is in the middle