peripheral devices on Dell WD19TB cannot be detected after suspend resume

Bug #1859407 reported by You-Sheng Yang
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Invalid
Undecided
Unassigned
Bionic
Won't Fix
Undecided
Unassigned
Disco
Won't Fix
Undecided
Unassigned
Eoan
Fix Released
Medium
You-Sheng Yang
linux-oem-osp1 (Ubuntu)
Invalid
Undecided
Unassigned
Bionic
Fix Released
Undecided
You-Sheng Yang
Disco
Won't Fix
Undecided
Unassigned
Eoan
Fix Released
Undecided
Unassigned

Bug Description

[SRU Justification]

[Impact]
If user un-plugs and then re-plugs the thunderbolt 3 cable of Dell
WD19TB into the laptop during suspend state, peripheral devices on the
docking station cannot be re-probed after the system resumes.

[Fix]
Upstream commit 56b991849009f ("PM: sleep: Simplify suspend-to-idle control
flow") along with its dependencies are required to fix this issue:

  * 56b991849009f PM: sleep: Simplify suspend-to-idle control flow
  * 41275eb5c7181 ACPI: PM: Set s2idle_wakeup earlier and clear it later
  * 9089f16e053af ACPI: EC: Return bool from acpi_ec_dispatch_gpe()
  * 6921de898ba8f ACPICA: Return u32 from acpi_dispatch_gpe()
  * 3a79bc63d9075 PCI: irq: Introduce rearm_wake_irq()

And 56b991849009f takes an additional fix as we've done for bug 1858424:

  * 016b87ca5c8c6 ACPI: EC: Rework flushing of pending work

[Test Case]
1. Please make sure that the WD19 (TBT 3 cable) connects to the laptop
2. Suspend the system
3. Un-plug the TBT 3 cable of WD19 docking station from laptop
4. Re-plug the TBT 3 cable of WD19 docking station into the laptop
5. Press the Enter key or power button to wake up the system
6. Connect an Ethernet cable to a Ethernet port of WD19 docking station
7. Check if the Ethernet interface is available and networking connection is up.

[Regression Potential]
Medium. The first four patches should not affect original functionalities. The
last two mostly simplify the process and resolve a regression.

========== original bug description ==========

[Summary]
If user un-plugs and then re-plugs the thunderbolt 3 cable of Dell WD19TB into the laptop during suspend state, peripheral devices on the docking station cannot be re-probed after the system resumes.

[Steps to reproduce]
1. Please make sure that the WD19 (TBT 3 cable) connects to the laptop
2. Suspend the system
3. Un-plug the TBT 3 cable of WD19 docking station from laptop
4. Re-plug the TBT 3 cable of WD19 docking station into the laptop
5. Press the Enter key or power button to wake up the system
6. Connect an Ethernet cable to a Ethernet port of WD19 docking station
7. Check if the Ethernet interface is available and networking connection is up.

[Expected result]
The Ethernet interface can be detected

[Actual result]
The Ethernet cannot be detected

CVE References

You-Sheng Yang (vicamo)
tags: added: oem-priority originate-from-1852989 somerville
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1859407

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
You-Sheng Yang (vicamo) wrote :

$ git bisect log
git bisect start
# new: [54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c] Linux 5.4-rc1
git bisect new 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c
# old: [4d856f72c10ecb060868ed10ff1b1453943fc6c8] Linux 5.3
git bisect old 4d856f72c10ecb060868ed10ff1b1453943fc6c8
# new: [81160dda9a7aad13c04e78bb2cfd3c4630e3afab] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
git bisect new 81160dda9a7aad13c04e78bb2cfd3c4630e3afab
# old: [04cbfba6208592999d7bfe6609ec01dc3fde73f5] Merge tag 'dmaengine-5.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma
git bisect old 04cbfba6208592999d7bfe6609ec01dc3fde73f5
# old: [e69e9db9031b2ef4897cfafb9a496f8eb6724e14] nfp: nsp: add support for hwinfo set operation
git bisect old e69e9db9031b2ef4897cfafb9a496f8eb6724e14
# new: [e6874fc29410fabfdbc8c12b467f41a16cbcfd2b] Merge tag 'staging-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
git bisect new e6874fc29410fabfdbc8c12b467f41a16cbcfd2b
# new: [c6b48dad92aedaa9bdc013ee495cb5b1bbdf1f11] Merge tag 'usb-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
git bisect new c6b48dad92aedaa9bdc013ee495cb5b1bbdf1f11
# new: [fe38bd6862074c0a2b9be7f31f043aaa70b2af5f] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
git bisect new fe38bd6862074c0a2b9be7f31f043aaa70b2af5f
# new: [031f469ecf7c85d2d43a04abd256b6f3a1ef5794] Merge branch 'pm-devfreq'
git bisect new 031f469ecf7c85d2d43a04abd256b6f3a1ef5794
# new: [2cdd5cc7032636d5f17822c6ba30ac08bfd2cb6d] Merge branch 'pm-cpuidle'
git bisect new 2cdd5cc7032636d5f17822c6ba30ac08bfd2cb6d
# new: [b90ff3554aa3e123bb7e6d08789f6fd92d86ddde] ACPI: PM: s2idle: Always set up EC GPE for system wakeup
git bisect new b90ff3554aa3e123bb7e6d08789f6fd92d86ddde
# new: [2e2c2fdc53437beffd2cf26aaf6187e602d565bc] ACPI: PM: s2idle: Rearrange lps0_device_attach()
git bisect new 2e2c2fdc53437beffd2cf26aaf6187e602d565bc
# old: [41275eb5c7181febdfaa63c3a0ad9b7acdadcd52] ACPI: PM: Set s2idle_wakeup earlier and clear it later
git bisect old 41275eb5c7181febdfaa63c3a0ad9b7acdadcd52
# new: [8eb0fd3b55f084320ae511cd5a64d356cf497c83] PM: sleep: Integrate suspend-to-idle with generig suspend flow
git bisect new 8eb0fd3b55f084320ae511cd5a64d356cf497c83
# new: [56b991849009f5def0443bfb2f48c8321d888e15] PM: sleep: Simplify suspend-to-idle control flow
git bisect new 56b991849009f5def0443bfb2f48c8321d888e15
# first new commit: [56b991849009f5def0443bfb2f48c8321d888e15] PM: sleep: Simplify suspend-to-idle control flow

Revision history for this message
You-Sheng Yang (vicamo) wrote :

So this pulls following commits:

  * 56b991849009f PM: sleep: Simplify suspend-to-idle control flow
  * 41275eb5c7181 ACPI: PM: Set s2idle_wakeup earlier and clear it later
  * 9089f16e053af ACPI: EC: Return bool from acpi_ec_dispatch_gpe()
  * 6921de898ba8f ACPICA: Return u32 from acpi_dispatch_gpe()
  * 3a79bc63d9075 PCI: irq: Introduce rearm_wake_irq()

And 56b991849009f takes an additional fix as we've done for bug 1858424:

  * 016b87ca5c8c6 ACPI: EC: Rework flushing of pending work

Changed in linux (Ubuntu Disco):
status: New → Won't Fix
Changed in linux-oem-osp1 (Ubuntu Disco):
status: New → Won't Fix
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: New → In Progress
Changed in linux (Ubuntu Bionic):
status: New → Won't Fix
Changed in linux (Ubuntu Eoan):
status: New → In Progress
Revision history for this message
You-Sheng Yang (vicamo) wrote :

Would focus on linux-oem-osp1 for Bionic and linux-generic for Eoan.

Changed in linux (Ubuntu):
status: Incomplete → Invalid
Changed in linux (Ubuntu Eoan):
assignee: nobody → You-Sheng Yang (vicamo)
Changed in linux-oem-osp1 (Ubuntu Bionic):
assignee: nobody → You-Sheng Yang (vicamo)
Revision history for this message
You-Sheng Yang (vicamo) wrote :
description: updated
Stefan Bader (smb)
Changed in linux (Ubuntu Eoan):
importance: Undecided → Medium
Timo Aaltonen (tjaalton)
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: In Progress → Fix Committed
Changed in linux-oem-osp1 (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu Eoan):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-eoan' to 'verification-done-eoan'. If the problem still exists, change the tag 'verification-needed-eoan' to 'verification-failed-eoan'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-eoan
Revision history for this message
You-Sheng Yang (vicamo) wrote :

Verified version 5.3.0-41.33 from eoan-proposed.

tags: added: verification-done-eoan
removed: verification-needed-eoan
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-osp1 - 5.0.0-1039.44

---------------
linux-oem-osp1 (5.0.0-1039.44) bionic; urgency=medium

  * bionic/linux-oem-osp1: 5.0.0-1039.44 -proposed tracker (LP: #1863082)

  * Sometimes can't adjust brightness on Dell AIO (LP: #1862885)
    - SAUCE: platform/x86: dell-uart-backlight: increase retry times

 -- Timo Aaltonen <email address hidden> Thu, 13 Feb 2020 16:36:19 +0200

Changed in linux-oem-osp1 (Ubuntu Bionic):
status: Fix Committed → Fix Released
You-Sheng Yang (vicamo)
Changed in linux-oem-osp1 (Ubuntu Eoan):
status: New → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (48.0 KiB)

This bug was fixed in the package linux - 5.3.0-42.34

---------------
linux (5.3.0-42.34) eoan; urgency=medium

  * eoan/linux: 5.3.0-42.34 -proposed tracker (LP: #1865111)

  * CVE-2020-2732
    - KVM: nVMX: Don't emulate instructions in guest mode
    - KVM: nVMX: Refactor IO bitmap checks into helper function
    - KVM: nVMX: Check IO instruction VM-exit conditions

linux (5.3.0-41.33) eoan; urgency=medium

  * eoan/linux: 5.3.0-41.33 -proposed tracker (LP: #1863294)

  * CVE-2019-3016
    - x86/kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit
    - x86/kvm: Introduce kvm_(un)map_gfn()
    - x86/kvm: Cache gfn to pfn translation
    - x86/KVM: Make sure KVM_VCPU_FLUSH_TLB flag is not missed
    - x86/KVM: Clean up host's steal time structure

  * Reduce s2idle power consumption when ethernet cable is connected on e1000e
    (LP: #1859126)
    - e1000e: Add support for S0ix

  * alsa/sof: let legacy hda driver and sof driver co-exist (LP: #1837828)
    - ASoC: Intel: Skylake: move NHLT header to common directory
    - ALSA: hda: move parts of NHLT code to new module
    - ALSA: hda: intel-nhlt: handle NHLT VENDOR_DEFINED DMIC geometry
    - ASoC: Intel: Skylake: use common NHLT module
    - ALSA: hda/intel: stop probe if DMICS are detected on Skylake+ platforms
    - [Config] Enable SND_HDA_INTEL_DETECT_DMIC

  * USB key cannot be detected by hotplug on Sunix USB Type-A 3.1 Gen 2 card
    [1b21:2142] (LP: #1858988)
    - SAUCE: PCI: Avoid ASMedia XHCI USB PME# from D0 defect

  * ipsec interfaces: fix sending with bpf_redirect() / AF_PACKET sockets
    (LP: #1860969)
    - vti[6]: fix packet tx through bpf_redirect()
    - xfrm interface: fix packet tx through bpf_redirect()

  * peripheral devices on Dell WD19TB cannot be detected after suspend resume
    (LP: #1859407)
    - PCI: irq: Introduce rearm_wake_irq()
    - ACPICA: Return u32 from acpi_dispatch_gpe()
    - ACPI: EC: Return bool from acpi_ec_dispatch_gpe()
    - ACPI: PM: Set s2idle_wakeup earlier and clear it later
    - PM: sleep: Simplify suspend-to-idle control flow
    - ACPI: EC: Rework flushing of pending work

  * Dell XPS 13 (7390) Display Flickering - 19.10 (LP: #1849947)
    - SAUCE: drm/i915: Disable PSR by default on all platforms

  * Root can lift kernel lockdown via USB/IP (LP: #1861238)
    - Revert "UBUNTU: SAUCE: (efi-lockdown) Add a SysRq option to lift kernel
      lockdown"

  * [CML-H] Add intel_thermal_pch driver support Comet Lake -H (LP: #1853219)
    - thermal: intel: intel_pch_thermal: Add Comet Lake (CML) platform support

  * Eoan update: upstream stable patchset 2020-02-07 (LP: #1862429)
    - ARM: dts: meson8: fix the size of the PMU registers
    - clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs
    - dt-bindings: reset: meson8b: fix duplicate reset IDs
    - ARM: dts: imx6q-dhcom: fix rtc compatible
    - clk: Don't try to enable critical clocks if prepare failed
    - ASoC: msm8916-wcd-digital: Reset RX interpolation path after use
    - iio: buffer: align the size of scan bytes to size of the largest element
    - USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx
    - USB: serial: option: Add support for Quec...

Changed in linux (Ubuntu Eoan):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-osp1 - 5.0.0-1043.48

---------------
linux-oem-osp1 (5.0.0-1043.48) bionic; urgency=medium

  * bionic/linux-oem-osp1: 5.0.0-1043.48 -proposed tracker (LP: #1867111)

  * All PS/2 ports on PS/2 Serial add-in bracket are not working after S3
    (LP: #1866734)
    - SAUCE: Input: i8042 - Fix the selftest retry logic

  * r8152 init may take up to 40 seconds at initialization with Dell WD19/WD19DC
    during hotplug (LP: #1864284)
    - UBUNTU SAUCE: r8151: check disconnect status after long sleep

  * Miscellaneous Ubuntu changes
    - [Config] Bump the GCC version

 -- Timo Aaltonen <email address hidden> Thu, 12 Mar 2020 11:14:40 +0200

Changed in linux-oem-osp1 (Ubuntu Eoan):
status: Invalid → Fix Released
You-Sheng Yang (vicamo)
Changed in hwe-next:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.