APPLIED(B): [SRU][B][E][PATCH 0/1] Reapply "usb: handle warm-reset port requests on hub resume"
Khaled Elmously
khalid.elmously at canonical.com
Fri Aug 7 21:57:07 UTC 2020
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 at 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 at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
More information about the kernel-team
mailing list