mirror-linux/drivers/usb/core
Stephen J. Fuhry 9ddb9c0dec USB: quirks: add NO_LPM for Lenovo ThinkPad USB-C Dock Gen2 hub controllers
The Lenovo ThinkPad USB-C Dock Gen2 (17ef:a391, 17ef:a392) hub
controllers exhibit link instability when USB Link Power Management
is enabled, similar to the dock's Ethernet adapter (17ef:a387) which
already carries USB_QUIRK_NO_LPM.

When the dock reconnects after a transient disconnect, the hub
controllers enter LPM states between re-enumeration retries, causing
repeated disconnect/reconnect cycles lasting up to two minutes.
Disabling LPM for these devices restores stable enumeration.

Signed-off-by: Stephen J. Fuhry <fuhrysteve@gmail.com>
Cc: stable <stable@kernel.org>
Link: https://patch.msgid.link/20260513171419.44849-1-fuhrysteve@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-05-22 11:12:34 +02:00
..
Kconfig
Makefile usb: core: Add tracepoints for device allocation and state changes 2025-10-22 10:58:30 +02:00
buffer.c
config.c usb: core: Clean up SuperSpeed/eUSB2 descriptor validation logging 2026-05-18 15:16:58 +02:00
devices.c
devio.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
driver.c usb: core: use dedicated spinlock for offload state 2026-04-02 09:43:26 +02:00
endpoint.c usb: endpoint: drop custom sysfs attribute structure 2026-03-11 15:48:20 +01:00
file.c
generic.c USB: lower "Device is not authorized for usage" message to info 2025-08-13 16:55:27 +02:00
hcd-pci.c usb: core: modify comments xhci_hc_driver has HCD_MEMORY just like ehci ohci 2025-06-19 12:31:16 +02:00
hcd.c usb: core: Fix SuperSpeed root hub wMaxPacketSize 2026-05-18 15:16:58 +02:00
hub.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
hub.h usb: hub: Fix flushing of delayed work used for post resume purposes 2025-06-30 15:36:00 +02:00
ledtrig-usbport.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
message.c USB: core: Use krealloc() in usb_cache_string() 2026-03-18 16:03:52 +01:00
notify.c
of.c USB: of: Simplify with scoped for each OF child loop 2026-04-07 13:49:48 +02:00
offload.c usb: core: use dedicated spinlock for offload state 2026-04-02 09:43:26 +02:00
otg_productlist.h
phy.c usb: core: phy: avoid double use of 'usb3-phy' 2026-04-02 09:19:31 +02:00
phy.h
port.c usb: port: add delay after usb_hub_set_port_power() 2026-03-18 16:03:58 +01:00
quirks.c USB: quirks: add NO_LPM for Lenovo ThinkPad USB-C Dock Gen2 hub controllers 2026-05-22 11:12:34 +02:00
sysfs.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
trace.c usb: core: Add tracepoints for device allocation and state changes 2025-10-22 10:58:30 +02:00
trace.h usb: core: Add tracepoints for device allocation and state changes 2025-10-22 10:58:30 +02:00
urb.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
usb-acpi.c usb: acpi: fix device link removal 2025-06-19 12:36:19 +02:00
usb.c usb: core: use dedicated spinlock for offload state 2026-04-02 09:43:26 +02:00
usb.h USB: make to_usb_device_driver() use container_of_const() 2024-11-14 17:57:33 +01:00