From cf549bf14a440d3b29b12c49b34ef7573bf13bc4 Mon Sep 17 00:00:00 2001 From: Ken Van Hoeylandt Date: Sun, 23 Aug 2026 00:10:22 +0200 Subject: [PATCH] Fix for CDC on P4/Tab5 --- .../source/drivers/usb/esp32_usb_device_controller.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Platforms/platform-esp32/source/drivers/usb/esp32_usb_device_controller.cpp b/Platforms/platform-esp32/source/drivers/usb/esp32_usb_device_controller.cpp index bccf09d19..344919c63 100644 --- a/Platforms/platform-esp32/source/drivers/usb/esp32_usb_device_controller.cpp +++ b/Platforms/platform-esp32/source/drivers/usb/esp32_usb_device_controller.cpp @@ -167,7 +167,9 @@ static error_t claim(struct Device* device, enum UsbDeviceClass usb_class, const return ERROR_INVALID_STATE; } - const bool cdc_enabled = is_cdc_enabled(device); + // MSC is deliberately excluded from CDC compositing as it doesn't work on Tab5/P4 devices. + // It could be re-enabled for other architectures after more extensive future testing. + const bool cdc_enabled = usb_class != USB_DEVICE_CLASS_MSC && is_cdc_enabled(device); // ---- String table: primary's table, plus CDC's own interface string appended last. size_t string_count = config->string_descriptor_count;