]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
powercap: dtpm_cpu: Fix error check against freq_qos_add_request()
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 13 Feb 2024 22:39:47 +0000 (23:39 +0100)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:16:45 +0000 (18:16 -0400)
[ Upstream commit b50155cb0d609437236c88201206267835c6f965 ]

The caller of the function freq_qos_add_request() checks again a non
zero value but freq_qos_add_request() can return '1' if the request
already exists. Therefore, the setup function fails while the QoS
request actually did not failed.

Fix that by changing the check against a negative value like all the
other callers of the function.

Fixes: 0e8f68d7f0485 ("Add CPU energy model based support")
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/powercap/dtpm_cpu.c

index 9193c3b8edebe9bf0cebc9a0d9d7084518a91c2d..ae7ee611978ba1ad44b44e92b92a254673658969 100644 (file)
@@ -219,7 +219,7 @@ static int __dtpm_cpu_setup(int cpu, struct dtpm *parent)
        ret = freq_qos_add_request(&policy->constraints,
                                   &dtpm_cpu->qos_req, FREQ_QOS_MAX,
                                   pd->table[pd->nr_perf_states - 1].frequency);
-       if (ret)
+       if (ret < 0)
                goto out_dtpm_unregister;
 
        cpufreq_cpu_put(policy);