PM / devfreq: Fix handling dev_pm_qos_remove_request result
authorLeonard Crestez <leonard.crestez@nxp.com>
Thu, 12 Mar 2020 15:36:06 +0000 (17:36 +0200)
committerChanwoo Choi <cw00.choi@samsung.com>
Tue, 24 Mar 2020 23:35:03 +0000 (08:35 +0900)
The dev_pm_qos_remove_request function can return 1 if
"aggregated constraint value has changed" so only negative values should
be reported as errors.

Fixes: 27dbc542f651 ("PM / devfreq: Use PM QoS for sysfs min/max_freq")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
drivers/devfreq/devfreq.c

index 5c481ad1cfc7952b17b1a285ba60223d634cfd91..6fecd11dafddafa99c1e4bcf28fc485192bc884f 100644 (file)
@@ -705,13 +705,13 @@ static void devfreq_dev_release(struct device *dev)
 
        if (dev_pm_qos_request_active(&devfreq->user_max_freq_req)) {
                err = dev_pm_qos_remove_request(&devfreq->user_max_freq_req);
-               if (err)
+               if (err < 0)
                        dev_warn(dev->parent,
                                "Failed to remove max_freq request: %d\n", err);
        }
        if (dev_pm_qos_request_active(&devfreq->user_min_freq_req)) {
                err = dev_pm_qos_remove_request(&devfreq->user_min_freq_req);
-               if (err)
+               if (err < 0)
                        dev_warn(dev->parent,
                                "Failed to remove min_freq request: %d\n", err);
        }