cpufreq: qcom-cpufreq-hw: Fix uninitialized throttled_freq warning
authorViresh Kumar <viresh.kumar@linaro.org>
Wed, 21 Sep 2022 07:00:38 +0000 (12:30 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Wed, 21 Sep 2022 07:19:40 +0000 (12:49 +0530)
Commit 6240aaad75e1 was supposed to drop the reference count to the OPP,
instead it avoided more stuff if the OPP isn't found. This isn't
entirely correct. We already have a frequency value available, we just
couldn't align it with an OPP in case of IS_ERR(opp).

Lets continue with updating thermal pressure, etc, even if we aren't
able to find an OPP here.

This fixes warning generated by the 'smatch' tool.

Fixes: 6240aaad75e1 ("cpufreq: qcom-hw: fix the opp entries refcounting")
Cc: v5.18+ <stable@vger.kernel.org> # v5.18+
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/cpufreq/qcom-cpufreq-hw.c

index d5ef3c66c762587afea6f41c46a652747bcecf2a..bb32659820ceb320a5f5c95f970d07ae9cfe8f64 100644 (file)
@@ -316,14 +316,14 @@ static void qcom_lmh_dcvs_notify(struct qcom_cpufreq_data *data)
        if (IS_ERR(opp)) {
                dev_warn(dev, "Can't find the OPP for throttling: %pe!\n", opp);
        } else {
-               throttled_freq = freq_hz / HZ_PER_KHZ;
-
-               /* Update thermal pressure (the boost frequencies are accepted) */
-               arch_update_thermal_pressure(policy->related_cpus, throttled_freq);
-
                dev_pm_opp_put(opp);
        }
 
+       throttled_freq = freq_hz / HZ_PER_KHZ;
+
+       /* Update thermal pressure (the boost frequencies are accepted) */
+       arch_update_thermal_pressure(policy->related_cpus, throttled_freq);
+
        /*
         * In the unlikely case policy is unregistered do not enable
         * polling or h/w interrupt