[PATCH] platform/x86: asus-laptop: Fix ACPI event handling

Armin Wolf posted 1 patch 3 weeks, 5 days ago
drivers/platform/x86/asus-laptop.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] platform/x86: asus-laptop: Fix ACPI event handling
Posted by Armin Wolf 3 weeks, 5 days ago
The event codes inside asus_keymap[] span a wide range from 0x02
till 0xC5, but using ACPI_DEVICE_NOTIFY prevents us from receiving
event codes below 0x80.

Fix this by using ACPI_ALL_NOTIFY instead.

Fixes: 378500dc1313 ("platform/x86: asus-laptop: Register ACPI notify handler directly")
Reported-by: Mo Jun <royclark086@gmail.com>
Closes: https://bugs.debian.org/1146124
Tested-by: Mo Jun <royclark086@gmail.com>
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
---
 drivers/platform/x86/asus-laptop.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c
index 449addd1ac7a..79a575d0f5b4 100644
--- a/drivers/platform/x86/asus-laptop.c
+++ b/drivers/platform/x86/asus-laptop.c
@@ -1882,7 +1882,7 @@ static int asus_acpi_probe(struct platform_device *pdev)
 	if (result && result != -ENODEV)
 		goto fail_pega_rfkill;
 
-	result = acpi_dev_install_notify_handler(device, ACPI_DEVICE_NOTIFY,
+	result = acpi_dev_install_notify_handler(device, ACPI_ALL_NOTIFY,
 						 asus_acpi_notify, asus);
 	if (result)
 		goto fail_pega_rfkill;
@@ -1912,7 +1912,7 @@ static void asus_acpi_remove(struct platform_device *pdev)
 {
 	struct asus_laptop *asus = platform_get_drvdata(pdev);
 
-	acpi_dev_remove_notify_handler(asus->device, ACPI_DEVICE_NOTIFY,
+	acpi_dev_remove_notify_handler(asus->device, ACPI_ALL_NOTIFY,
 				       asus_acpi_notify);
 	asus_backlight_exit(asus);
 	asus_rfkill_exit(asus);
-- 
2.39.5
Re: [PATCH] platform/x86: asus-laptop: Fix ACPI event handling
Posted by Ilpo Järvinen 3 weeks, 5 days ago
On Mon, 31 Aug 2026 01:50:58 +0200, Armin Wolf wrote:

> The event codes inside asus_keymap[] span a wide range from 0x02
> till 0xC5, but using ACPI_DEVICE_NOTIFY prevents us from receiving
> event codes below 0x80.
> 
> Fix this by using ACPI_ALL_NOTIFY instead.
> 
> 
> [...]


Thank you for your contribution, it has been applied to my local
review-ilpo-fixes branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my
local branch there, which might take a while.

The list of commits applied:
[1/1] platform/x86: asus-laptop: Fix ACPI event handling
      commit: 156c129509869a090f88e96fba4bdf2dad12969a

--
 i.
Re: [PATCH] platform/x86: asus-laptop: Fix ACPI event handling
Posted by Armin Wolf 3 weeks, 5 days ago
Am 31.08.26 um 18:45 schrieb Ilpo Järvinen:

> On Mon, 31 Aug 2026 01:50:58 +0200, Armin Wolf wrote:
>
>> The event codes inside asus_keymap[] span a wide range from 0x02
>> till 0xC5, but using ACPI_DEVICE_NOTIFY prevents us from receiving
>> event codes below 0x80.
>>
>> Fix this by using ACPI_ALL_NOTIFY instead.
>>
>>
>> [...]
>
> Thank you for your contribution, it has been applied to my local
> review-ilpo-fixes branch. Note it will show up in the public
> platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my
> local branch there, which might take a while.

Thank you :)

> The list of commits applied:
> [1/1] platform/x86: asus-laptop: Fix ACPI event handling
>        commit: 156c129509869a090f88e96fba4bdf2dad12969a
>
> --
>   i.
>
Re: [PATCH] platform/x86: asus-laptop: Fix ACPI event handling
Posted by Wysocki, Rafael J 3 weeks, 5 days ago
On 8/31/2026 1:50 AM, Armin Wolf wrote:
> The event codes inside asus_keymap[] span a wide range from 0x02
> till 0xC5, but using ACPI_DEVICE_NOTIFY prevents us from receiving
> event codes below 0x80.
>
> Fix this by using ACPI_ALL_NOTIFY instead.
>
> Fixes: 378500dc1313 ("platform/x86: asus-laptop: Register ACPI notify handler directly")
> Reported-by: Mo Jun <royclark086@gmail.com>
> Closes: https://bugs.debian.org/1146124
> Tested-by: Mo Jun <royclark086@gmail.com>
> Signed-off-by: Armin Wolf <W_Armin@gmx.de>

Thanks for taking care of this!

Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>


> ---
>   drivers/platform/x86/asus-laptop.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c
> index 449addd1ac7a..79a575d0f5b4 100644
> --- a/drivers/platform/x86/asus-laptop.c
> +++ b/drivers/platform/x86/asus-laptop.c
> @@ -1882,7 +1882,7 @@ static int asus_acpi_probe(struct platform_device *pdev)
>   	if (result && result != -ENODEV)
>   		goto fail_pega_rfkill;
>   
> -	result = acpi_dev_install_notify_handler(device, ACPI_DEVICE_NOTIFY,
> +	result = acpi_dev_install_notify_handler(device, ACPI_ALL_NOTIFY,
>   						 asus_acpi_notify, asus);
>   	if (result)
>   		goto fail_pega_rfkill;
> @@ -1912,7 +1912,7 @@ static void asus_acpi_remove(struct platform_device *pdev)
>   {
>   	struct asus_laptop *asus = platform_get_drvdata(pdev);
>   
> -	acpi_dev_remove_notify_handler(asus->device, ACPI_DEVICE_NOTIFY,
> +	acpi_dev_remove_notify_handler(asus->device, ACPI_ALL_NOTIFY,
>   				       asus_acpi_notify);
>   	asus_backlight_exit(asus);
>   	asus_rfkill_exit(asus);