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