]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
powercap: dtpm_devfreq: Fix error check against dev_pm_qos_add_request()
authorYuan Can <yuancan@huawei.com>
Fri, 18 Oct 2024 02:12:05 +0000 (10:12 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 21 Oct 2024 11:23:06 +0000 (13:23 +0200)
The caller of the function dev_pm_qos_add_request() checks again a non
zero value but dev_pm_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: e44655617317 ("powercap/drivers/dtpm: Add dtpm devfreq with energy model support")
Signed-off-by: Yuan Can <yuancan@huawei.com>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://patch.msgid.link/20241018021205.46460-1-yuancan@huawei.com
[ rjw: Subject edit ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/powercap/dtpm_devfreq.c

index f40bce8176df27aeab28ee00303dd8204cfc6b4c..d1dff6ccab1207ddbe82d2aed1f7960d1ddca307 100644 (file)
@@ -178,7 +178,7 @@ static int __dtpm_devfreq_setup(struct devfreq *devfreq, struct dtpm *parent)
        ret = dev_pm_qos_add_request(dev, &dtpm_devfreq->qos_req,
                                     DEV_PM_QOS_MAX_FREQUENCY,
                                     PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE);
-       if (ret) {
+       if (ret < 0) {
                pr_err("Failed to add QoS request: %d\n", ret);
                goto out_dtpm_unregister;
        }