[SRU][OEM-OSP1-B/E][PATCH 0/6] Fix on dock devices reprobe after resume

You-Sheng Yang vicamo.yang at canonical.com
Mon Jan 13 09:40:28 UTC 2020


BugLink: https://bugs.launchpad.net/bugs/1859407

[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.

Rafael J. Wysocki (6):
  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

 drivers/acpi/acpica/evxfgpe.c |  6 ++--
 drivers/acpi/ec.c             | 47 ++++++++++++++-----------------
 drivers/acpi/internal.h       |  2 +-
 drivers/acpi/sleep.c          | 53 +++++++++++++++++++----------------
 drivers/base/power/main.c     |  5 ----
 include/acpi/acpixf.h         |  8 +++++-
 include/linux/interrupt.h     |  1 +
 include/linux/suspend.h       |  1 -
 kernel/irq/pm.c               | 20 +++++++++++++
 kernel/power/suspend.c        | 53 +++++++++++++++--------------------
 10 files changed, 105 insertions(+), 91 deletions(-)

-- 
2.24.0




More information about the kernel-team mailing list