[PATCH] platform/x86: asus-wmi: don't warn when LPS0 is unavailable
From: Asai Neko
Date: Tue Sep 15 2026 - 13:34:48 EST
asus-wmi attempts to register its LPS0 suspend-to-idle callback during
probe. acpi_register_lps0_dev() returns -ENODEV when the LPS0 interface
is unavailable or explicitly disabled, but the driver treats this
expected condition as a registration failure and prints:
failed to register LPS0 sleep handler in asus-wmi
This occurs on the ASUS ROG STRIX X670E-A GAMING WIFI with BIOS 2704.
The system exposes no PNP0D80 ACPI device and uses deep suspend. The
warning therefore misleadingly suggests a sleep-related malfunction
on a platform where the LPS0 callback is not applicable.
Suppress the warning for -ENODEV while retaining it for other errors.
Leave callback registration and suspend/resume behavior unchanged.
Signed-off-by: Asai Neko <sugar@xxxxxxx>
---
Avoid the misleading ASUS WMI warning when LPS0 is unavailable.
The diagnosis and rationale are included in the patch commit
message.
---
drivers/platform/x86/asus-wmi.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index a65090429ca7..f7d009b742b3 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -5421,8 +5421,11 @@ static struct acpi_s2idle_dev_ops asus_ally_s2idle_dev_ops = {
static void asus_s2idle_check_register(void)
{
- if (acpi_register_lps0_dev(&asus_ally_s2idle_dev_ops))
- pr_warn("failed to register LPS0 sleep handler in asus-wmi\n");
+ int ret;
+
+ ret = acpi_register_lps0_dev(&asus_ally_s2idle_dev_ops);
+ if (ret && ret != -ENODEV)
+ pr_warn("failed to register LPS0 sleep handler in asus-wmi\n", ret);
}
static void asus_s2idle_check_unregister(void)
---
base-commit: 587858367581b9c55c3690f4e63382ad622719d4
change-id: 20260916-asus-wmi-lps0-unavailable-warn-9a72be44b9ed
Best regards,
--
Asai Neko <sugar@xxxxxxx>
--
Asai Neko