[PATCH] platform/x86: asus-wmi: Don't warn when fan curve method is unsupported

From: HyeongJun An

Date: Fri Jun 05 2026 - 00:58:59 EST


fan_curve_check_present() probes for fan curve support by calling
fan_curve_get_factory_default(). On devices whose firmware does not
implement the fan curve WMI methods (e.g. the ASUS-built Intel
NUC15CRHU5), the underlying asus_wmi_evaluate_method_buf() returns
-ENODEV, which fan_curve_get_factory_default() reports with pr_warn()
on every boot:

asus_wmi: fan_curve_get_factory_default (0x00110024) failed: -19
asus_wmi: fan_curve_get_factory_default (0x00110025) failed: -19
asus_wmi: fan_curve_get_factory_default (0x00110032) failed: -19

This is a normal, expected condition: the caller already handles the
absence gracefully, and asus_wmi_evaluate_method_buf() already logs the
unsupported method at pr_debug() level. Suppress the warning for -ENODEV
while keeping it for genuine failures.

Signed-off-by: HyeongJun An <sammiee5311@xxxxxxxxx>
---
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 80144c412b90..9b12a9e1eb97 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.43.0