Re: [PATCH] platform/x86: asus-wmi: Ignore return value when writing thermal policy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2 Dec 2024, Armin Wolf wrote:
> Am 29.11.24 um 20:29 schrieb Armin Wolf:
> > Am 25.11.24 um 10:39 schrieb Hans de Goede:
> > > 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@xxxxxx
> > > > 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@xxxxxx>
> > > Thanks, patch looks good to me:
> > > 
> > > Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> > > 
> > > Regards,
> > > 
> > > Hans
> > 
> > I forgot to add the following tag:
> > 
> > Tested-by: auslands-kv@xxxxxx
> > 
> > Can we pick this patch for the next fixes pull?
> > 
> > Thanks,
> > Armin Wolf
> > 
> Another user (Edoardo Brogiolo <brogioloedoardo@xxxxxxxxx>) 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?

Hi Armin,

I don't think there are any blocker I'm aware of. It's just that I'm 
extremely busy right after the merge window has closed as usual.

-- 
 i.

> > > > ---
> > > >   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
> > > > 
> > > 
> > 
> 

[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux