Re: [PATCH] PM: sleep: core: Fix the handling of pending runtime resume requests

From: Mika Westerberg
Date: Mon Aug 24 2020 - 04:35:09 EST


Hi,

On Fri, Aug 21, 2020 at 03:34:42PM -0400, Alan Stern wrote:
> This means that the code could be simplified to just:
>
> pm_runtime_barrier(dev);
>
> Will this fix the reported bug? It seems likely to me that the actual
> problem with the failure scenario in the patch description was that
> turning on an ACPI power resource causes runtime-resume requests to be
> queued for all devices sharing that resource. Wouldn't it make more
> sense to resume only the device that requested it and leave the others
> in runtime suspend?

The problem with at least PCIe devices that share ACPI power resources
is that once you turn on the power resource all the devices that shared
it will go into D0uninitialized power state and that means they lose all
wake configuration etc. so they need to be re-initialized by their
driver before they can go back to D3(cold) in order for their wakes to
still work.