From 8b8345cc1fcab68485ad3498776201da991d3cd7 Mon Sep 17 00:00:00 2001 From: Abdelkader Boudih Date: Mon, 12 Jan 2026 10:44:47 +0100 Subject: [PATCH] libbladeRF: fix spurious timeout warnings in USB event loop libusb_handle_events_timeout() legitimately returns LIBUSB_ERROR_TIMEOUT when no events occur within the timeout period. This is expected behavior, not an error condition worth warning about. FreeBSD's libusb implementation correctly returns this value per the API specification, causing spurious log warnings during normal streaming. --- host/libraries/libbladeRF/src/backend/usb/libusb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/host/libraries/libbladeRF/src/backend/usb/libusb.c b/host/libraries/libbladeRF/src/backend/usb/libusb.c index 09daf381f..abc045c0f 100644 --- a/host/libraries/libbladeRF/src/backend/usb/libusb.c +++ b/host/libraries/libbladeRF/src/backend/usb/libusb.c @@ -1393,7 +1393,8 @@ static int lusb_stream(void *driver, struct bladerf_stream *stream, while (stream->state != STREAM_DONE) { status = libusb_handle_events_timeout(lusb->context, &tv); - if (status < 0 && status != LIBUSB_ERROR_INTERRUPTED) { + if (status < 0 && status != LIBUSB_ERROR_INTERRUPTED && + status != LIBUSB_ERROR_TIMEOUT) { log_warning("unexpected value from events processing: " "%d: %s\n", status, libusb_error_name(status)); status = error_conv(status);