[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c06686ad-f755-4f14-8df8-f5b47e246f98@gmx.de>
Date: Mon, 2 Dec 2024 15:23:33 +0100
From: Armin Wolf <W_Armin@....de>
To: Hans de Goede <hdegoede@...hat.com>, auslands-kv@....de,
corentin.chary@...il.com, luke@...nes.dev
Cc: ilpo.jarvinen@...ux.intel.com, platform-driver-x86@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] platform/x86: asus-wmi: Ignore return value when writing
thermal policy
Am 29.11.24 um 20:29 schrieb Armin Wolf:
> Am 25.11.24 um 10:39 schrieb Hans de Goede:
>
>> Hi,
>>
>> On 24-Nov-24 6:19 PM, Armin Wolf wrote:
>>> 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@....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@....de>
>> Thanks, patch looks good to me:
>>
>> Reviewed-by: Hans de Goede <hdegoede@...hat.com>
>>
>> Regards,
>>
>> Hans
>
> I forgot to add the following tag:
>
> Tested-by: auslands-kv@....de
>
> Can we pick this patch for the next fixes pull?
>
> Thanks,
> Armin Wolf
>
Another user (Edoardo Brogiolo <brogioloedoardo@...il.com>) reported a similar issue with another Asus machine,
see https://bbs.archlinux.org/viewtopic.php?id=301341 for details.
Are there any blockers left for this patch to get accepted upstream?
Thanks,
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 ba8b6d028f9f..8bd187e8b47f 100644
>>> --- a/drivers/platform/x86/asus-wmi.c
>>> +++ b/drivers/platform/x86/asus-wmi.c
>>> @@ -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;
>>> --
>>> 2.39.5
>>>
>>
>
Powered by blists - more mailing lists