On Sat, 27 Oct 2018, Cherian, George wrote: > Implement workaround for ThunderX2 Errata-129 (documented in > CN99XX Known Issues" available at Cavium support site). > As per ThunderX2errata-129, USB-2.0 device may come up as USB-1.0 > If a connection to a USB-1.0 device is followed by another connection > to a USB-2.0 device, the link will come up as USB-1.0 for the USB-2.0 > device. > > Resolution: Reset the PHY after the USB1.0 device is disconnected. > The PHY reset sequence is done using private registers in XHCI register > space. After the PHY is reset we check for the PLL lock status and retry > the operation if it fails. From our tests, retrying 4 times is sufficient. > > Add a new quirk flag XHCI_RESET_PLL_ON_DISCONNECT to invoke the workaround > in handle_xhci_port_status(). Minor nitpick (for both the patch description and the code comments): USB 1.0 was never widely adopted and is not used any more. The earliest vesion of USB currently used in supported devices is USB 1.1. Likewise, there are a few devices around that support USB 2.1, not USB 2.0, but they are presumably also subject to the problem described above. I suggest you change the description and the comments to refer to USB 1 and USB 2 instead of USB 1.0 and USB 2.0, as the latter are too restrictive and misleading. Alan Stern