]> git.baikalelectronics.ru Git - kernel.git/commit
platform/x86: x86-android-tablets: Fix Lenovo Yoga Tablet 2 830/1050 poweroff again
authorHans de Goede <hdegoede@redhat.com>
Fri, 8 Jul 2022 13:14:11 +0000 (15:14 +0200)
committerHans de Goede <hdegoede@redhat.com>
Sun, 10 Jul 2022 15:41:05 +0000 (17:41 +0200)
commit52ba8229b9cb34ffbe876ec0c83338b22e8e4fc7
tree33cdfab24975a5eb0a1ed598233ef25688fce69f
parent4767b77a9a759f663ff78fddc902379a2fea08e0
platform/x86: x86-android-tablets: Fix Lenovo Yoga Tablet 2 830/1050 poweroff again

Commit 90ab7cff34f2 ("ACPI: power: Switch to sys-off handler API")
switched the ACPI sleep code from directly setting the old global
pm_power_off handler to using the new register_sys_off_handler()
mechanism with a priority of SYS_OFF_PRIO_FIRMWARE.

This is a problem in special cases where the old global pm_power_off
handler later gets overwritten, such as the Lenovo Tab2 poweroff bugfix
in x86-android-tablets. The old global pm_power_off handler gets run
with a priority of SYS_OFF_PRIO_DEFAULT which is lower then
SYS_OFF_PRIO_FIRMWARE, causing the troublesome ACPI poweroff (which
freezes the system) to run first.

Switch the registering of lenovo_yoga_tab2_830_1050_power_off over to
register_sys_off_handler() with a priority of SYS_OFF_PRIO_FIRMWARE + 1
so that it will run before acpi_power_off() to fix this.

Fixes: 90ab7cff34f2 ("ACPI: power: Switch to sys-off handler API")
Cc: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220708131412.81078-2-hdegoede@redhat.com
drivers/platform/x86/x86-android-tablets.c