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

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

** Changed in: linux (Ubuntu Hirsute)
       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/1928242

Title:
  Realtek USB hubs in Dell WD19SC/DC/TB fail to work after exiting
  s2idle

Status in HWE Next:
  New
Status in linux package in Ubuntu:
  In Progress
Status in linux-oem-5.10 package in Ubuntu:
  Invalid
Status in linux source package in Focal:
  Fix Committed
Status in linux-oem-5.10 source package in Focal:
  Fix Committed
Status in linux source package in Groovy:
  Fix Committed
Status in linux-oem-5.10 source package in Groovy:
  Invalid
Status in linux source package in Hirsute:
  Fix Committed
Status in linux-oem-5.10 source package in Hirsute:
  Invalid
Status in linux source package in Impish:
  In Progress
Status in linux-oem-5.10 source package in Impish:
  Invalid

Bug description:
  [SRU Justification]

  [Impact]
  All of 3 different WD19(TB/SC/DC) docks have 3 Type-A ports and 2 Type-C 
ports, and there're highspeed Hubs(0bda:5487 and its substream hub 0bda:5413) 
and Superspeed Hubs (0bda:0487 and its downstream hub 0bda:0413). In the bug 
description below, we will refer the 2 highspeed hubs as Hub A and Hub A.3, and 
the 2 superspeed hubs as Hub B and Hub B.3. All devices connected via either 
Type-A or Type-C ports will connect to either Hub A.3 or Hub B.3. If we connect 
a wakup enabled device (keyboard) to a Type-A port, the Hub A.3 will fail to 
activate after exiting s2idle and all downstream devices will not be detected. 
If we have a superspeed device connected to other Type-A port in addition to 
the keyboard, this superspeed device actually connects to Hub B.3, and the Hub 
B.3 will also fails to work after exiting s2idle. If the wakeup enabled device 
connects via Type-C port, there's no such problem.

  As a summary, a wakeup enabled device connect to Type-A port will
  cause the failure of Hub A.3 and Hub B.3. Hub B.3 only fails when a
  wakeup enabled device and a superspeed device both connect via Type-A
  port.

  [Fix]
  Before the resume failure, the upstream hub(Hub A or B) will hit the timeout 
problem while doing SetPortFeature(PORT_SUSPEND) to the port of the downstream 
hub (Hub A.3 or Hub B.3). However, the PORT_SUSPEND bit of the wPortStatus is 
actually turned on for the Hub A.3, we simply need to make the kernel believe 
it's already suspended. Then the ClearPortFeature will be done during resume 
and the problem will go away.

  The Hub B.3 will be tricky. The PORT_SUSPEND bit is not on after the
  suspend timeout, but it needs the ClearPortFeature(PORT_SUSPEND) for
  Hub B.3 to avoid resume failure. It doesn't comply with the USB spec
  so it's hard to create a generic fix for it. Because it only happens
  when timeout happens on suspending Hub A.3 and there's a superspeed
  device connecting to Type-A port, we choose to leave it as-is and try
  to address it in the future.

  [Test Case]
  1. Make sure that the WD19 connects to the laptop
  2. Connect USB keyboard/mouse to USB Type-A ports.
  3. Suspend the system
  4. Press the Enter key or power button to wake up the system
  5. Check if the USB keyboard/mouse are still working
  Repeat 4 and 5 for > 10 times w/o losing any USB devices.

  
  [Where problems could occur]
  A wakeup enabled device (keyboard) connect to Type-A port will cause the 
failure of Hub A.3 and Hub B.3 during resume. Hub B.3 only fails when a wakeup 
enabled device and a superspeed device both connect via Type-A port. All 
devices connects to Hub A.3 (and B.3 if superspeed device connect via Type-A 
port) will be lost after resume.

  [Regression Potential]
  Minimum. The fix is only triggered when timeout happens during USB port 
suspend and it follows the standard USB protocol to do either resume or 
reset_resume.

  ========== Original Bug Description ==========

  ● Summary
  Plug in USB mouse and USB keyboard to WD19/WD19DC USB ports near LAN port. 
Plug dock into SUT and check USB keyboard and mouse work. SUT enter suspend. 
After 1 min resume SUT, check USB keyboard/mouse function. Sometimes USB 
keyboard/mouse no function.

  Isolation:
  1. VP on UMA and Discrete
  2. When issue occur, both front and back port on WD19 can't work using USB 
keyboard/mouse but USB Key.

  ● Reproduce Steps
  1.Plug in USB mouse and USB keyboard to WD19/WD19DC USB ports near LAN port.
  2.Plug dock into SUT and check USB keyboard and mouse work.
  3. SUT enter suspend.
  4.After 1 min, resume SUT and check USB keyboard/mouse function.
  5.Sometimes USB keyboard/mouse no function.

  ● Results
  ○ Expected Result
  USB mouse or keyboard on dock can use after suspend

  ○ Actual Result
  USB mouse or keyboard on dock sometimes no function after suspend

  ● Additional Information
  ○ Test Vault ID:60943.011
  ○ SKU:Broadmoor Latitude5421
  ○ BIOS Version:0.3.21
  ○ Image/Manifest:
  dell-bto-focal-fossa-pidgeot-14-X79-20210106-3.iso
  dell-bto-focal-fossa-pidgeot-14-X81-20210121-6.iso
  ○ CPU:TGL ES
  ○ GPU:Intel pGFX 2020
  ○ Failure rate:F/R: 2/2 units, 1/10 times
  ○ WD19 dock, Dock DFU: 1.0.15
  ---
  ProblemType: Bug
  ApportVersion: 2.20.11-0ubuntu27.16
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC1:  u          2632 F.... pulseaudio
   /dev/snd/controlC0:  u          2632 F.... pulseaudio
  CasperMD5CheckResult: skip
  CurrentDesktop: ubuntu:GNOME
  DistributionChannelDescriptor:
   # This is the distribution channel descriptor for the OEM CDs
   # For more information see 
http://wiki.ubuntu.com/DistributionChannelDescriptor
   canonical-oem-somerville-focal-amd64-20200502-85+fossa-pidgey+X90
  DistroRelease: Ubuntu 20.04
  InstallationDate: Installed on 2021-04-20 (22 days ago)
  InstallationMedia: Ubuntu 20.04 "Focal" - Build amd64 LIVE Binary 
20200502-05:58
  MachineType: Dell Inc. Precision 5560
  Package: linux-oem-5.10
  ProcFB: 0 i915drmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.10.0-1023-oem 
root=UUID=0a51d1e3-2a97-46b9-87cf-912821ab4aa0 ro quiet splash vt.handoff=7
  ProcVersionSignature: Ubuntu 5.10.0-1023.24-oem 5.10.25
  RelatedPackageVersions:
   linux-restricted-modules-5.10.0-1023-oem N/A
   linux-backports-modules-5.10.0-1023-oem  N/A
   linux-firmware                           1.187.10
  Tags:  focal
  Uname: Linux 5.10.0-1023-oem x86_64
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
  _MarkForUpload: True
  dmi.bios.date: 04/01/2021
  dmi.bios.release: 0.4
  dmi.bios.vendor: Dell Inc.
  dmi.bios.version: 0.4.4
  dmi.board.vendor: Dell Inc.
  dmi.chassis.asset.tag: 7654321
  dmi.chassis.type: 10
  dmi.chassis.vendor: Dell Inc.
  dmi.modalias: 
dmi:bvnDellInc.:bvr0.4.4:bd04/01/2021:br0.4:svnDellInc.:pnPrecision5560:pvr:rvnDellInc.:rn:rvr:cvnDellInc.:ct10:cvr:
  dmi.product.family: Precision
  dmi.product.name: Precision 5560
  dmi.product.sku: 0A62
  dmi.sys.vendor: Dell Inc.

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1928242/+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