From 202d32d13dc29e9bbb978de3f9ca95ac97cf5ca3 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Tue, 2 Sep 2025 01:20:07 +0200 Subject: [PATCH] Fix descriptor description when there are disabled interfaces. Signed-off-by: Pol Henarejos --- src/usb/usb_descriptors.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/usb/usb_descriptors.c b/src/usb/usb_descriptors.c index 06156a6..25e0b4f 100644 --- a/src/usb/usb_descriptors.c +++ b/src/usb/usb_descriptors.c @@ -360,6 +360,21 @@ uint16_t const *tud_descriptor_string_cb(uint8_t index, uint16_t langid) { str = phy_data.usb_product; } } + else if (index >= 5) { + uint8_t itf_index = index - 5; + if (itf_index == ITF_HID) { + str = string_desc_arr[5]; + } + else if (itf_index == ITF_HID_KB) { + str = string_desc_arr[6]; + } + else if (itf_index == ITF_CCID) { + str = string_desc_arr[7]; + } + else if (itf_index == ITF_WCID) { + str = string_desc_arr[8]; + } + } uint8_t buff_avail = sizeof(_desc_str) / sizeof(_desc_str[0]) - 1; if (index >= 4) {