[PATCH] platform/x86: asus-wmi: suppress -ENODEV warning in fan_curve_get_factory_default()

Armandas Kvietkus
2026-05-03T17:47:57Z

When the firmware does not support the fan curve WMI method,
asus_wmi_evaluate_method_buf() returns -ENODEV. The caller
fan_curve_check_present() already handles this gracefully by
treating it as a non-error, but fan_curve_get_factory_default()
still emits a pr_warn() before returning, producing spurious
boot noise on unsupported hardware.

Suppress the warning for -ENODEV only, consistent with how
this error is handled elsewhere in asus-wmi.c.

Reported-by: fxzxaxon@outlook.com
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221441
Signed-off-by: Armandas Kvietkus <armandas.kvietkus@proton.me>
---
drivers/platform/x86/asus-wmi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index 80144c412..9b12a9e1e 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -3538,7 +3538,8 @@ static int fan_curve_get_factory_default(struct asus_wmi *asus, u32 fan_dev)
err = asus_wmi_evaluate_method_buf(asus->dsts_id, fan_dev, mode, buf,
FAN_CURVE_BUF_LEN);
if (err) {
- pr_warn("%s (0x%08x) failed: %d\n", __func__, fan_dev, err);
+ if (err != -ENODEV)
+ pr_warn("%s (0x%08x) failed: %d\n", __func__, fan_dev, err);
return err;
}

--
2.54.0