diff mbox series

[1/4] PM / devfreq: passive: Fix get_target_freq when not using required-opp

Message ID 20210617060546.26933-2-cw00.choi@samsung.com (mailing list archive)
State Accepted
Delegated to: Chanwoo Choi
Headers show
Series PM / devfreq: Add cpu based scaling support to passive governor | expand

Commit Message

Chanwoo Choi June 17, 2021, 6:05 a.m. UTC
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.

Cc: stable@vger.kernel.org
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 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Chanwoo Choi June 24, 2021, 1:38 a.m. UTC | #1
On 6/17/21 3:05 PM, Chanwoo Choi wrote:
> 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.
> 
> Cc: stable@vger.kernel.org
> 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 | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/devfreq/governor_passive.c b/drivers/devfreq/governor_passive.c
> index b094132bd20b..fc09324a03e0 100644
> --- a/drivers/devfreq/governor_passive.c
> +++ b/drivers/devfreq/governor_passive.c
> @@ -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.
> 

Applied it.
diff mbox series

Patch

diff --git a/drivers/devfreq/governor_passive.c b/drivers/devfreq/governor_passive.c
index b094132bd20b..fc09324a03e0 100644
--- a/drivers/devfreq/governor_passive.c
+++ b/drivers/devfreq/governor_passive.c
@@ -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.