]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
platform/x86: asus-wmi: Ignore return value when writing thermal policy
authorArmin Wolf <W_Armin@gmx.de>
Sun, 24 Nov 2024 17:19:41 +0000 (18:19 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 19:03:04 +0000 (20:03 +0100)
[ Upstream commit 25fb5f47f34d90aceda2c47a4230315536e97fa8 ]

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 <W_Armin@gmx.de>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20241124171941.29789-1-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/platform/x86/asus-wmi.c

index 89f5f44857d555500ac540e5ba24ce59c79fd357..1101e5b2488e52b1d2f08cdbafdcf5afd77cd5b6 100644 (file)
@@ -3696,7 +3696,6 @@ static int asus_wmi_custom_fan_curve_init(struct asus_wmi *asus)
 /* Throttle thermal policy ****************************************************/
 static int throttle_thermal_policy_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;