]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Revert "ACPI: PM: Let acpi_dev_pm_attach() skip devices without ACPI PM"
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 3 Mar 2026 14:26:31 +0000 (15:26 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 3 Mar 2026 14:32:53 +0000 (15:32 +0100)
Revert commit 88fad6ce090b ("ACPI: PM: Let acpi_dev_pm_attach() skip
devices without ACPI PM") that introduced a SoundWire suspend regression
[1].

It is actually not true that the commit above doesn't make a functional
difference because acpi_subsys_suspend(), for example, may resume
devices in runtime-suspend which affects the subsequent handling of
those devices during the suspend transition.  For this reason, the
devices that were handled by the ACPI PM domain before that commit may
be handled differently now which may lead to suspend-resume issues.

Fixes: 88fad6ce090b ("ACPI: PM: Let acpi_dev_pm_attach() skip devices without ACPI PM")
Reported-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Closes: https://github.com/thesofproject/linux/pull/5677#issuecomment-3984375077 [1]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/2829615.mvXUDI8C0e@rafael.j.wysocki
drivers/acpi/device_pm.c

index f2579611e0a51b2cd96cfacd2c088969417ac3b7..aa55ecfc2923cf06b943fd07fb5e6cac60e4673c 100644 (file)
@@ -1456,15 +1456,6 @@ int acpi_dev_pm_attach(struct device *dev, bool power_on)
        if (!adev || !acpi_match_device_ids(adev, special_pm_ids))
                return 0;
 
-       /*
-        * Skip devices whose ACPI companions don't support power management and
-        * don't have a wakeup GPE.
-        */
-       if (!acpi_device_power_manageable(adev) && !acpi_device_can_wakeup(adev)) {
-               dev_dbg(dev, "No ACPI power management or wakeup GPE\n");
-               return 0;
-       }
-
        /*
         * Only attach the power domain to the first device if the
         * companion is shared by multiple. This is to prevent doing power