** Changed in: linux (Ubuntu Bionic)
       Status: In Progress => Fix Committed

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

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

Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Bionic:
  Fix Committed
Status in linux source package in Disco:
  Won't Fix
Status in linux source package in Eoan:
  Won't Fix

Bug description:
  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.

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

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to