drivers/platform/x86/asus-wmi.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
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@sne.moe>
---
Avoid the misleading ASUS WMI warning when LPS0 is unavailable.
The diagnosis and rationale are included in the patch commit
message.
---
Changes in v2:
- Fix the missing format specifier for ret reported by kernel test robot.
- Shorten the warning message to keep the format string on one line.
- Report: https://lore.kernel.org/oe-kbuild-all/202609170237.IYNujwsM-lkp@intel.com/
- Link to v1: https://patch.msgid.link/20260916-asus-wmi-lps0-unavailable-warn-v1-1-9bd6fb4c10f9@sne.moe
To: Corentin Chary <corentin.chary@gmail.com>
To: "Luke D. Jones" <luke@ljones.dev>
To: Denis Benato <denis.benato@linux.dev>
To: Hans de Goede <hansg@kernel.org>
To: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Cc: platform-driver-x86@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
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..c2af1f049b67 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: %d\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@sne.moe>
--
Asai Neko
On Thu, 17 Sep 2026, Asai Neko wrote:
> 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@sne.moe>
Thanks, I've replaced v1 with this one in the review-ilpo-next branch.
Next time, please collect the Reviewed-by (and possible Tested-by) tags
from the previous version(s) when sending another version because our
maintainer tools only collect them for the current version.
Only if you make really major changes, then you may opt to drop the tags.
--
i.
> ---
> Avoid the misleading ASUS WMI warning when LPS0 is unavailable.
> The diagnosis and rationale are included in the patch commit
> message.
> ---
> Changes in v2:
> - Fix the missing format specifier for ret reported by kernel test robot.
> - Shorten the warning message to keep the format string on one line.
> - Report: https://lore.kernel.org/oe-kbuild-all/202609170237.IYNujwsM-lkp@intel.com/
> - Link to v1: https://patch.msgid.link/20260916-asus-wmi-lps0-unavailable-warn-v1-1-9bd6fb4c10f9@sne.moe
>
> To: Corentin Chary <corentin.chary@gmail.com>
> To: "Luke D. Jones" <luke@ljones.dev>
> To: Denis Benato <denis.benato@linux.dev>
> To: Hans de Goede <hansg@kernel.org>
> To: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> Cc: platform-driver-x86@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
> 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..c2af1f049b67 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: %d\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@sne.moe>
>
>
>
© 2016 - 2026 Red Hat, Inc.