On Thu, Nov 29, 2018 at 07:28:10AM +0000, Cherian, George wrote:
From: "Cherian, George" George.Cherian@cavium.com
commit 11644a7659529730eaf2f166efaabe7c3dc7af8c upstream
Implement workaround for ThunderX2 Errata-129 (documented in CN99XX Known Issues" available at Cavium support site). As per ThunderX2errata-129, USB 2 device may come up as USB 1 if a connection to a USB 1 device is followed by another connection to a USB 2 device, the link will come up as USB 1 for the USB 2 device.
Resolution: Reset the PHY after the USB 1 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().
Cc: stable@vger.kernel.org Cc: stable@vger.kernel.org # 4.14.x: 36b6857: xhci: Allow more than 32 quirks Signed-off-by: George Cherian george.cherian@cavium.com Signed-off-by: Mathias Nyman mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
There is a conflict while cherry-pick of 36b6857: xhci: Allow more than 32 quirks. It is trivial to resolve. Let me know in case if it is an issue.
I fixed it up, thanks.
greg k-h