]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ACPI: button: Install notifier for system events as well
authorMario Limonciello <mario.limonciello@amd.com>
Mon, 3 Mar 2025 21:27:09 +0000 (15:27 -0600)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 11 Mar 2025 19:41:48 +0000 (20:41 +0100)
commita7e23ec17feecc7bac0d500cea900cace7b50129
tree3e7638021d0d57836e73dcfd5ce34d787daa5ee2
parent7eb172143d5508b4da468ed59ee857c6e5e01da6
ACPI: button: Install notifier for system events as well

On some systems when the system is put to sleep pressing the ACPI power
button will cause the EC SCI to try to wake the system by a Notify(DEV, 0x2)
with an intention to wake the system up from suspend.

This behavior matches the ACPI specification in ACPI 6.4 section
4.8.3.1.1.2 which describes that the AML handler would generate a Notify()
with a code of 0x2 to indicate it was responsible for waking the system.

This currently doesn't work because acpi_button_add() only configured
`ACPI_DEVICE_NOTIFY` which means that device handler notifications
0x80 through 0xFF are handled.

To fix the wakeups on such systems, adjust the ACPI button handler to
use `ACPI_ALL_NOTIFY` which will handle all events 0x00 through 0x7F.

Reported-by: Yijun Shen <Yijun.Shen@dell.com>
Tested-by: Richard Gong <Richard.Gong@amd.com>
Link: https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/04_ACPI_Hardware_Specification/ACPI_Hardware_Specification.html?highlight=0x2#control-method-power-button
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Tested-by: Yijun Shen <Yijun_Shen@Dell.com>
Link: https://patch.msgid.link/20250303212719.4153485-1-superm1@kernel.org
[ rjw: Removed uneeded semicolon ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/button.c