Re: [PATCH] usb: add quirks for Lenovo OneLink+ Dock

From: jflf_kernel
Date: Tue Aug 30 2022 - 09:59:16 EST



On 30/08/2022 13.54, Oliver Neukum wrote:
> On 24.08.22 18:09, JFLF wrote:
>
>> 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.
>
> Hi,
>
>
> aside from the aspects of getting this properly signed off and merged,
> this opens up a question. What does resetting a hub do to its children?
> That is if the request to wake up comes from a child, do we
>
> a) lose state in the child?
> b) retain the knowledge which port requested the wakeup?
>
> How far has this patch been tested?
>
> Regards
> Oliver


Hi Oliver,

Partial answer for now: I have been using those quirks via the kernel command line for about a year now. I have been meaning to send in the patch long ago, but kept forgetting about it.

I agree that USB_QUIRK_RESET_RESUME seems fishy with a hub. It's pretty much the last quirk I tried, and the only one that worked. I can't say I understand what it does exactly. The hubs themselves don't seem to reset (or at least not fully), as there is no re-enumeration of existing children.

I have not experienced a single problem or side effect since using those quirks. I use a mix of USB 2.0 and 3.0 devices, some bus- and some self-powered, some permanently connected (including ethernet and audio in the hub itself) and some not.

Thanks!
JF