Message ID | 20200726232457.9107-1-matthew.ruffell@canonical.com |
---|---|
Headers | show |
Series | Reapply "usb: handle warm-reset port requests on hub resume" | expand |
On 2020-07-27 11:24:56 , Matthew Ruffell wrote: > BugLink: https://bugs.launchpad.net/bugs/1859873 > > [Impact] > > We wish to reapply "usb: handle warm-reset port requests on hub resume". > > We reverted "usb: handle warm-reset port requests on hub resume" from the Ubuntu > kernels due to a perceived regression it introduced (bug 1856608). > > Only one customer saw this regression, and only in very specific systems. We > have now determined that the root cause of the regression was that the systems > used defective USB cables, which had Tx and Rx lines mixed up. > > Signals were being sent down the wrong wires, placing the USB devices into a > SS_INVALID link state, and this patch simply revealed the problems going on in > the USB3 subsystem. USB3 devices never worked with these cables, but for some > reason USB2 worked, which led to the long drawn out debugging timeframe. > > We have confirmation from device hardware teams that USB cables on affected > systems have their Tx and Rx wires mixed up, and this has also been confirmed > by the USB cable manufacturer that these cables are a bad batch. > > New USB cables fix the problem, and "usb: handle warm-reset port requests on hub > resume" is safe to reapply. > > [Fix] > > We reapply upstream commit: > > commit 4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e > Author: Jan-Marek Glogowski <glogow@fbihome.de> > Date: Fri Feb 1 13:52:31 2019 +0100 > Subject: usb: handle warm-reset port requests on hub resume > > To the Bionic and Eoan kernels. > > This commit fixes a real problem for users of a particular external hard disk, > so it has value for Ubuntu users, and we do not want to diverge from upstream > stable patches. > > [Testcase] > > For users with defective non-complaint USB cables: > > dmesg | grep "Cannot enable" > > For users with a particular USB-C external hard disk: > > The disk will work as expected when it is plugged in. > > [Regression Potential] > > If any users in the community happen to use USB cables with Tx and Rx lines > mixed up, they may see messages like: > > "usb usb2-port2: Cannot enable. Maybe the USB cable is bad?" > > These users need to swap out their USB cables for a non-defective one. > > The commit landed in 5.1, and was backported to all stable kernels. As of > 5.8-rc6, the commit is still in place, and has no fixup commits. I believe > that re-introducing this commit will not cause any regressions for users > with USB compliant hardware. > > Jan-Marek Glogowski (1): > usb: handle warm-reset port requests on hub resume > > drivers/usb/core/hub.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > -- > 2.25.1 > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team