Re: [PATCH v2 1/5] PM: ACPI/PCI: Resume all devices during hibernation

Robert R. Howell
2019-07-02T04:24:08Z

On 7/1/19 4:44 AM, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> Both the PCI bus type and the ACPI PM domain avoid resuming
> runtime-suspended devices with DPM_FLAG_SMART_SUSPEND set during
> hibernation (before creating the snapshot image of system memory),
> but that turns out to be a mistake. It leads to functional issues
> and adds complexity that's hard to justify.
>
> For this reason, resume all runtime-suspended PCI devices and all
> devices in the ACPI PM domains before creating a snapshot image of
> system memory during hibernation.
>
> Fixes: 05087360fd7a (ACPI / PM: Take SMART_SUSPEND driver flag into account)
> Fixes: c4b65157aeef (PCI / PM: Take SMART_SUSPEND driver flag into account)
> Link: https://lore.kernel.org/linux-acpi/917d4399-2e22-67b1-9d54-808561f9083f@uwyo.edu/T/#maf065fe6e4974f2a9d79f332ab99dfaba635f64c
> Reported-by: Robert R. Howell <RHowell@uwyo.edu>
> Tested-by: Robert R. Howell <RHowell@uwyo.edu>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>
> -> v2: No changes.

I've tested your v2 patch set on my ASUS T100TA, applying just those 5 patches to the
5.2-rc7 kernel, and they do fix the hibernation problem. The i2c_designware
timeout errors are now gone and sound does now work after resume from both
suspend and hibernate.

As before I still see the "i2c_designware 80860F41:00: Transfer while suspended" error
on the first resume from either suspend or hibernate, but also as before that
particular error doesn't seem to cause a persistent problem and the system works
normally after the resume.

Bob Howell