powercap: dtpm_devfreq: Fix error check against dev_pm_qos_add_request()

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: e446556173 ("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>
This commit is contained in:
Yuan Can 2024-10-18 10:12:05 +08:00 committed by Rafael J. Wysocki
parent 42f7652d3e
commit 5209d1b654

View 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, ret = dev_pm_qos_add_request(dev, &dtpm_devfreq->qos_req,
DEV_PM_QOS_MAX_FREQUENCY, DEV_PM_QOS_MAX_FREQUENCY,
PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE); PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE);
if (ret) { if (ret < 0) {
pr_err("Failed to add QoS request: %d\n", ret); pr_err("Failed to add QoS request: %d\n", ret);
goto out_dtpm_unregister; goto out_dtpm_unregister;
} }