From 468878c3bef1b44a10186994c3edf60ea04e13ad Mon Sep 17 00:00:00 2001 From: AljazD Date: Tue, 13 Jan 2026 10:50:12 +0100 Subject: [PATCH 1/3] Added libusb_unref_device when opening usb link --- src/pc/protocols/usb_host.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pc/protocols/usb_host.cpp b/src/pc/protocols/usb_host.cpp index d7fde55..34d6a50 100644 --- a/src/pc/protocols/usb_host.cpp +++ b/src/pc/protocols/usb_host.cpp @@ -770,6 +770,7 @@ xLinkPlatformErrorCode_t usbLinkOpen(const char *path, libusb_device_handle*& h) uint8_t ep = 0; libusb_error libusb_rc = usb_open_device(dev, &ep, h); + libusb_unref_device(dev); if(libusb_rc == LIBUSB_SUCCESS) { return X_LINK_PLATFORM_SUCCESS; } else if(libusb_rc == LIBUSB_ERROR_ACCESS) { From 0958262cc5a45b25296ce87f552a7701d1fb8fb5 Mon Sep 17 00:00:00 2001 From: AljazD Date: Mon, 12 Jan 2026 10:49:49 +0100 Subject: [PATCH 2/3] Fixed overflowing inside of COMBINE_IDS macro --- include/XLink/XLinkPrivateFields.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/XLink/XLinkPrivateFields.h b/include/XLink/XLinkPrivateFields.h index 0e83137..38aa087 100644 --- a/include/XLink/XLinkPrivateFields.h +++ b/include/XLink/XLinkPrivateFields.h @@ -15,7 +15,7 @@ #define EXTRACT_STREAM_ID(streamId) ((streamId) & STREAM_ID_MASK) #define COMBINE_IDS(streamId, linkid) \ - streamId = streamId | ((linkid & LINK_ID_MASK) << LINK_ID_SHIFT); + streamId = streamId | (((uint32_t)(linkid) & LINK_ID_MASK) << LINK_ID_SHIFT); // ------------------------------------ // Global fields declaration. Begin. From c3c3851272a70b96ac3e1760b59c1e7e5704e053 Mon Sep 17 00:00:00 2001 From: aljazdu <74094620+aljazdu@users.noreply.github.com> Date: Wed, 28 Jan 2026 11:09:16 +0100 Subject: [PATCH 3/3] Update include/XLink/XLinkPrivateFields.h Co-authored-by: asahtik <38485424+asahtik@users.noreply.github.com> --- include/XLink/XLinkPrivateFields.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/XLink/XLinkPrivateFields.h b/include/XLink/XLinkPrivateFields.h index 38aa087..441520c 100644 --- a/include/XLink/XLinkPrivateFields.h +++ b/include/XLink/XLinkPrivateFields.h @@ -15,7 +15,7 @@ #define EXTRACT_STREAM_ID(streamId) ((streamId) & STREAM_ID_MASK) #define COMBINE_IDS(streamId, linkid) \ - streamId = streamId | (((uint32_t)(linkid) & LINK_ID_MASK) << LINK_ID_SHIFT); + streamId = streamId | (((uint32_t)linkid & LINK_ID_MASK) << LINK_ID_SHIFT); // ------------------------------------ // Global fields declaration. Begin.