]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
USB: core: add USB_QUIRK_NO_LPM for VIA Labs USB 2.0 hub
authorRodrigo Lugathe da Conceição Alves <lugathe2@gmail.com>
Wed, 3 Jun 2026 11:36:26 +0000 (08:36 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jun 2026 14:10:50 +0000 (15:10 +0100)
The VIA Labs, Inc. USB 2.0 hub controller (2109:2817),
found in a KVM switch, fails to enumerate high-power devices during
cold boot and system restart.

Applying the kernel parameter
  usbcore.quirks=2109:2817:k
resolves the issue.

Enumeration failure log:
  usb 1-1.2.3: device descriptor read/64, error -32
  usb 1-1.2.3: Device not responding to setup address.
  usb 1-1.2.3: device not accepting address 11, error -71
  usb 1-1.2-port3: unable to enumerate USB device

Add USB_QUIRK_NO_LPM for this device.

Signed-off-by: Rodrigo Lugathe da Conceição Alves <lugathe2@gmail.com>
Cc: stable <stable@kernel.org>
Link: https://patch.msgid.link/20260603113626.395612-1-lugathe2@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/quirks.c

index 80b61a799e8bda0ba543e2d4ca60322538e610b3..87ee2d938bc0386ce444e1ed9f43898f96330b5b 100644 (file)
@@ -579,6 +579,9 @@ static const struct usb_device_id usb_quirk_list[] = {
        /* VLI disk */
        { USB_DEVICE(0x2109, 0x0711), .driver_info = USB_QUIRK_NO_LPM },
 
+       /* VIA Labs, Inc. USB2.0 Hub */
+       { USB_DEVICE(0x2109, 0x2817), .driver_info = USB_QUIRK_NO_LPM },
+
        /* Raydium Touchscreen */
        { USB_DEVICE(0x2386, 0x3114), .driver_info = USB_QUIRK_NO_LPM },