Hi Armin Wolf,
On Sun, Aug 30, 2026 at 9:26 PM Mo Jun <[email protected]> wrote:
>
> Hi Armin Wolf,
>
> On Sun, Aug 30, 2026 at 7:59 PM Armin Wolf <[email protected]> wrote:
> >
>> [...]
> >
> > I think i found the culprit, could you please test the attached patch?
>
> Build the module with the patch(only "make -C .
> M=drivers/platform/x86") and load the built
> drivers/platform/x86/asus-laptop.ko, now the Fn hotkeys works again.
I found that after rmmod the built module, it can not be insmod again.
Also the system experienced NULL pointer dereferences in
acpi_bus_generate_netlink_event() which may related to the built
module.
I guess these was caused that the patch only change calling to
acpi_dev_install_notify_handler(), not
acpi_dev_remove_notify_handler().
After change ACPI_DEVICE_NOTIFY to ACPI_ALL_NOTIFY in calling to
acpi_dev_remove_notify_handler()(see attached patch), now the module
can be insmod again after once rmmod.
Regards,
Jun MO
--- drivers/platform/x86/asus-laptop.c.orig 2026-08-28 14:25:22.000000000 +0800
+++ drivers/platform/x86/asus-laptop.c 2026-08-30 22:20:51.478565861 +0800
@@ -1887,7 +1887,7 @@
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;
@@ -1917,7 +1917,7 @@
{
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);