From afffaafc861c635f42fa02be22e0327e2632ebaf Mon Sep 17 00:00:00 2001 From: Nav Date: Sun, 2 Oct 2022 13:28:27 +0100 Subject: [PATCH] Fixed hard-coded configurationIndex value when setting USB configuration on a USB device --- src/DebugToolDrivers/USB/UsbDevice.cpp | 8 ++++++-- src/DebugToolDrivers/USB/UsbDevice.hpp | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/DebugToolDrivers/USB/UsbDevice.cpp b/src/DebugToolDrivers/USB/UsbDevice.cpp index bf21e85a..513ea785 100644 --- a/src/DebugToolDrivers/USB/UsbDevice.cpp +++ b/src/DebugToolDrivers/USB/UsbDevice.cpp @@ -55,9 +55,13 @@ namespace Bloom::Usb this->libusbDeviceHandle.reset(deviceHandle); } - void UsbDevice::setConfiguration(int configIndex) { + void UsbDevice::setConfiguration(std::uint8_t configurationIndex) { ::libusb_config_descriptor* configDescriptor = {}; - int libusbStatusCode = ::libusb_get_config_descriptor(this->libusbDevice.get(), 0, &configDescriptor); + auto libusbStatusCode = ::libusb_get_config_descriptor( + this->libusbDevice.get(), + configurationIndex, + &configDescriptor + ); if (libusbStatusCode < 0) { throw DeviceInitializationFailure( diff --git a/src/DebugToolDrivers/USB/UsbDevice.hpp b/src/DebugToolDrivers/USB/UsbDevice.hpp index 1d48498e..216d1e18 100644 --- a/src/DebugToolDrivers/USB/UsbDevice.hpp +++ b/src/DebugToolDrivers/USB/UsbDevice.hpp @@ -33,9 +33,9 @@ namespace Bloom::Usb /** * Selects a specific configuration on the device, using the configuration index. * - * @param configIndex + * @param configurationIndex */ - virtual void setConfiguration(int configIndex); + virtual void setConfiguration(std::uint8_t configurationIndex); virtual ~UsbDevice();