Messages in this thread Patch in this message | | | Date | Thu, 16 Jun 2022 17:59:10 +0300 | Subject | Re: regression, 5.19.0-rc1 not powering off when hibernated | From | Dmitry Osipenko <> |
| |
Hi,
On 6/15/22 22:52, Ken Moffat wrote: > On Wed, Jun 15, 2022 at 05:40:46PM +0100, Ken Moffat wrote: >> On Mon, Jun 13, 2022 at 08:46:22PM +0100, Ken Moffat wrote: >> >>>>>> But with 5.19.0-rc1 the screen is blank throughtout the hibernation, >>>>>> and briefly when restoring (no complaint about that), but when >>>>>> hibernating it no longer powers off and I have to hold the on/off >>>>>> switch to power off. >>>>>> >>>>>> Is this a known problem ? >>>>> > [...] >> Indeed, on the second attempt I've got a much more likely commit to >> blame: >> >> 98f30d0ecf79da8cf17a171fa4cf6eda7ba4dd71 is the first bad commit >> commit 98f30d0ecf79da8cf17a171fa4cf6eda7ba4dd71 >> Author: Dmitry Osipenko <dmitry.osipenko@collabora.com> >> Date: Tue May 10 02:32:30 2022 +0300 >> >> ACPI: power: Switch to sys-off handler API >> >> Switch to sys-off API that replaces legacy pm_power_off callbacks, >> allowing us to remove global pm_* variables and support chaining of >> all restart and power-off modes consistently. >> >> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> >> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> >> >> Unsurprisingly, with this reverted 5.19-rc2 fails to build. >> > It occurs to me that maybe I'm missing something in my .config. > Since that is 117K, here is the gzipped config from the version that > git blamed (apart from not powering off, it appears to work ok).
The patch below likely should fix the problem, please give it a try on top of the 5.19-rc2.
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c index 20a66bf9f465..89c71fce225d 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c @@ -665,7 +665,7 @@ static void power_down(void) hibernation_platform_enter(); fallthrough; case HIBERNATION_SHUTDOWN: - if (pm_power_off) + if (kernel_can_power_off()) kernel_power_off(); break; }
| |