** Description changed:

- This bug tracks the reapplication of "usb: handle warm-reset port
- requests on hub resume".
+ [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 regression it introduced (bug 1856608).
- However, that patch did fix an issue for a user, and reverting it
- requires us to diverge from mainline. Once we understand and resolve the
- regression, we should reapply it.
+ 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 <glo...@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.

** Description changed:

+ 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 <glo...@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.

** Tags added: sts

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1859873

Title:
  Reapply "usb: handle warm-reset port requests on hub resume"

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1859873/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to