usb: add quirks for Lenovo OneLink+ Dock
PATCH v2 1/1 usb: add quirks for Lenovo OneLink+ Dock
From: JFLF <[email protected]>
The Lenovo OneLink+ Dock contains two VL812 USB3.0 controllers:
17ef:1018 upstream
17ef:1019 downstream
Those two controllers both have problems with some USB3.0 devices, particularly self-powered ones. Typical error messages include:
Timeout while waiting for setup device command
device not accepting address X, error -62
unable to enumerate USB device
By process of elimination the controllers themselves were identified as the cause of the problem. Through trial and error the issue was solved by using USB_QUIRK_RESET_RESUME for both chips.
--- drivers/usb/core/quirks.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/usb/core/quirks.c +4 -0
@@ -437,6 +437,10 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x1532, 0x0116), .driver_info = USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL }, + /* Lenovo ThinkPad OneLink+ Dock twin hub controllers (VIA Labs VL812) */ + { USB_DEVICE(0x17ef, 0x1018), .driver_info = USB_QUIRK_RESET_RESUME }, + { USB_DEVICE(0x17ef, 0x1019), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Lenovo USB-C to Ethernet Adapter RTL8153-04 */ { USB_DEVICE(0x17ef, 0x720c), .driver_info = USB_QUIRK_NO_LPM },
--
2.34.1
Greg KH
maintainerQuoted 13 lines · Jean-Francois Le Fillatre
From: JFLF <[email protected]>
The Lenovo OneLink+ Dock contains two VL812 USB3.0 controllers:
17ef:1018 upstream
17ef:1019 downstreamThose two controllers both have problems with some USB3.0 devices, particularly self-powered ones. Typical error messages include:
Timeout while waiting for setup device command
device not accepting address X, error -62
unable to enumerate USB device
Quoted 5 lines
By process of elimination the controllers themselves were identified as the cause of the problem. Through trial and error the issue was solved by using
USB_QUIRK_RESET_RESUMEfor both chips.Signed-off-by Jean-Francois Le Fillatre <[email protected]>
Does not match your "From:" line :(
Quoted 3 lines
--- drivers/usb/core/quirks.c | 4 ++++ 1 file changed, 4 insertions(+)
Forgot to list below the --- line what changed from v1 :(