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

Stefan Bader stefan.bader at canonical.com
Thu Jan 16 14:25:52 UTC 2020


On 13.01.20 10:40, You-Sheng Yang wrote:
> 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.

In general I would agree. Just from personal experience in the past, any change
on the ACPI EC code is like a game of whack-a-mole. So I would not be too
surprised if something else is found to be broken after. But since this is for
now only geared towards an intermediate release it sounds acceptable.

> 
> 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(-)
> 

Acked-by: Stefan Bader <stefan.bader at canonical.com>



More information about the kernel-team mailing list