Re: [PATCH] thermal/drivers/cpufreq_cooling: Fix return of cpufreq_set_cur_state

From: Viresh Kumar
Date: Sun Mar 22 2020 - 23:17:42 EST


On 21-03-20, 09:27, Willy Wolff wrote:
> The function freq_qos_update_request returns 0 or 1 describing update
> effectiveness, and a negative error code on failure. However,
> cpufreq_set_cur_state returns 0 on success or an error code otherwise.
>
> Signed-off-by: Willy Wolff <willy.mh.wolff.ml@xxxxxxxxx>
> ---
> drivers/thermal/cpufreq_cooling.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c
> index fe83d7a210d4..af55ac08e1bd 100644
> --- a/drivers/thermal/cpufreq_cooling.c
> +++ b/drivers/thermal/cpufreq_cooling.c
> @@ -431,6 +431,7 @@ static int cpufreq_set_cur_state(struct thermal_cooling_device *cdev,
> unsigned long state)
> {
> struct cpufreq_cooling_device *cpufreq_cdev = cdev->devdata;
> + int ret;
>
> /* Request state should be less than max_level */
> if (WARN_ON(state > cpufreq_cdev->max_level))
> @@ -442,8 +443,9 @@ static int cpufreq_set_cur_state(struct thermal_cooling_device *cdev,
>
> cpufreq_cdev->cpufreq_state = state;
>
> - return freq_qos_update_request(&cpufreq_cdev->qos_req,
> - get_state_freq(cpufreq_cdev, state));
> + ret = freq_qos_update_request(&cpufreq_cdev->qos_req,
> + get_state_freq(cpufreq_cdev, state));
> + return ret < 0 ? ret : 0;
> }
>
> /* Bind cpufreq callbacks to thermal cooling device ops */

Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>

--
viresh