PM / devfreq: passive: Fix get_target_freq when not using required-opp
authorChanwoo Choi <cw00.choi@samsung.com>
Thu, 17 Jun 2021 06:05:43 +0000 (15:05 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Thu, 24 Jun 2021 01:37:35 +0000 (10:37 +0900)
The 86ad9a24f21e ("PM / devfreq: Add required OPPs support to passive governor")
supported the required-opp property for using devfreq passive governor.
But, 86ad9a24f21e has caused the problem on use-case when required-opp
is not used such as exynos-bus.c devfreq driver. So that fix the
get_target_freq of passive governor for supporting the case of when
required-opp is not used.

Fixes: 86ad9a24f21e ("PM / devfreq: Add required OPPs support to passive governor")
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
drivers/devfreq/governor_passive.c

index b094132..fc09324 100644 (file)
@@ -65,7 +65,7 @@ static int devfreq_passive_get_target_freq(struct devfreq *devfreq,
                dev_pm_opp_put(p_opp);
 
                if (IS_ERR(opp))
-                       return PTR_ERR(opp);
+                       goto no_required_opp;
 
                *freq = dev_pm_opp_get_freq(opp);
                dev_pm_opp_put(opp);
@@ -73,6 +73,7 @@ static int devfreq_passive_get_target_freq(struct devfreq *devfreq,
                return 0;
        }
 
+no_required_opp:
        /*
         * Get the OPP table's index of decided frequency by governor
         * of parent device.