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