[PATCH v4 0/2] usb: core: Add quirk for 255-byte initial config read
From: Nikhil Solanke
Date: Mon Jul 27 2026 - 16:00:12 EST
This series adds a quirk for USB devices that fail enumeration when
the initial GET_DESCRIPTOR(CONFIGURATION) request uses wLength=9.
Patch 1 adds USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE which causes
usb_get_configuration() to use wLength=255 for the initial config
descriptor request, mirroring long-standing Windows behavior.
Patch 2 splits announce_device() to log device identity before
enumeration, improving failure diagnosis.
Nikhil Solanke (2):
usb: core: Add quirk for 255-bytes initial config read
usb: hub: Split announce_device() to log device identity before
enumeration
Changes in v4:
- Reworded comments and messages
- Moved the memcpy() block that skips the second read after USB_QUIRK_DELAY_INIT
.../admin-guide/kernel-parameters.txt | 5 +++
drivers/usb/core/config.c | 32 ++++++++++++++-----
drivers/usb/core/hub.c | 16 +++++++---
drivers/usb/core/quirks.c | 4 +++
include/linux/usb/quirks.h | 3 ++
5 files changed, 48 insertions(+), 12 deletions(-)
--
2.54.0