From be6c5301da1fea7a26a10c8df1f4a4184e1e24d3 Mon Sep 17 00:00:00 2001 From: ferreo Date: Tue, 10 Dec 2024 20:26:05 +0100 Subject: [PATCH] Add patches/asus2.patch --- patches/asus2.patch | 57 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 patches/asus2.patch diff --git a/patches/asus2.patch b/patches/asus2.patch new file mode 100644 index 0000000..f851b73 --- /dev/null +++ b/patches/asus2.patch @@ -0,0 +1,57 @@ +From 4d538d888ff723832da4b9bb48b17eebc3b7765c Mon Sep 17 00:00:00 2001 +From: Armin Wolf +Date: Sun, 24 Nov 2024 18:19:41 +0100 +Subject: [PATCH] platform/x86: asus-wmi: Ignore return value when writing + thermal policy + +On some machines like the ASUS Vivobook S14 writing the thermal policy +returns the currently writen thermal policy instead of an error code. + +Ignore the return code to avoid falsely returning an error when the +thermal policy was written successfully. + +Reported-by: auslands-kv@gmx.de +Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219517 +Fixes: 2daa86e78c49 ("platform/x86: asus_wmi: Support throttle thermal policy") +Signed-off-by: Armin Wolf +--- + drivers/platform/x86/asus-wmi.c | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c +index 89f5f44857d555..a173f95d6d35b8 100644 +--- a/drivers/platform/x86/asus-wmi.c ++++ b/drivers/platform/x86/asus-wmi.c +@@ -3106,7 +3106,6 @@ static int fan_boost_mode_check_present(struct asus_wmi *asus) + + static int fan_boost_mode_write(struct asus_wmi *asus) + { +- u32 retval; + u8 value; + int err; + +@@ -3718,8 +3717,8 @@ static int throttle_thermal_policy_write(struct asus_wmi *asus) + value = asus->throttle_thermal_policy_mode; + } + +- err = asus_wmi_set_devstate(asus->throttle_thermal_policy_dev, +- value, &retval); ++ /* Some machines do not return an error code as a result, so we ignore it */ ++ err = asus_wmi_set_devstate(asus->throttle_thermal_policy_dev, value, NULL); + + sysfs_notify(&asus->platform_device->dev.kobj, NULL, + "throttle_thermal_policy"); +@@ -3729,12 +3728,6 @@ static int throttle_thermal_policy_write(struct asus_wmi *asus) + return err; + } + +- if (retval != 1) { +- pr_warn("Failed to set throttle thermal policy (retval): 0x%x\n", +- retval); +- return -EIO; +- } +- + /* Must set to disabled if mode is toggled */ + if (asus->cpu_fan_curve_available) + asus->custom_fan_curves[FAN_CURVE_DEV_CPU].enabled = false; +