On 08.06.23 02:48, Warren Togami wrote:
Thanks! Tested your patch against 6.4.0-rc5. Both usbcore.quirks=1a86:55d4:b and usbcore.quirks=1a86:55d4:p allow the device to be fully functional. It even works through suspend+resume of the host. Without the quirk the only other way for this device to function at all is to turn off autosuspend. How should we proceed? "p" would be the narrower quirk. Would this be appropriate for drivers/usb/core/quirks.c?
Hi, having established that both work, it will be necessary to determine which is better. The reason I am not happy with the existing quirk is that it does unnecessary resets and I don't think that they are harmless, as they ought to reset values to their default. Could you devise a test that basically looks like echo "command that changes a setting the next command depends on" > /to/the/device [wait 5 seconds - autosuspend will kick in] echo "the next command that depends on the setting changed" > /to/the/device Neither quirk disables autosuspend completely. They limit it to the cases remote wakeup is not required. That fits the times while the device not is not opened. With 'b' (RESET_RESUME) the sequence would be: open write close suspend resume reset open write close I would like to check whether the reset, which 'p' omits, changes the outcome. Regards Oliver