linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] OPP: Put opp table in dev_pm_opp_set_rate() all the time
@ 2020-08-11 21:28 Stephen Boyd
  2020-08-12  6:10 ` Rajendra Nayak
  2020-08-12  8:20 ` Viresh Kumar
  0 siblings, 2 replies; 4+ messages in thread
From: Stephen Boyd @ 2020-08-11 21:28 UTC (permalink / raw)
  To: Viresh Kumar, Nishanth Menon, Stephen Boyd
  Cc: linux-kernel, linux-pm, Rajendra Nayak

We get the opp_table pointer at the top of the function and so we should
put the pointer at the end of the function like all other exit paths
from this function do.

Cc: Rajendra Nayak <rnayak@codeaurora.org>
Fixes: aca48b61f963 ("opp: Manage empty OPP tables with clk handle")
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
---
 drivers/opp/core.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/opp/core.c b/drivers/opp/core.c
index 9d7fb45b1786..bdb028c7793d 100644
--- a/drivers/opp/core.c
+++ b/drivers/opp/core.c
@@ -893,8 +893,10 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
 		 * have OPP table for the device, while others don't and
 		 * opp_set_rate() just needs to behave like clk_set_rate().
 		 */
-		if (!_get_opp_count(opp_table))
-			return 0;
+		if (!_get_opp_count(opp_table)) {
+			ret = 0;
+			goto put_opp_table;
+		}
 
 		if (!opp_table->required_opp_tables && !opp_table->regulators &&
 		    !opp_table->paths) {
@@ -905,7 +907,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
 
 		ret = _set_opp_bw(opp_table, NULL, dev, true);
 		if (ret)
-			return ret;
+			goto put_opp_table;
 
 		if (opp_table->regulator_enabled) {
 			regulator_disable(opp_table->regulators[0]);
-- 
Sent by a computer, using git, on the internet


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] OPP: Put opp table in dev_pm_opp_set_rate() all the time
  2020-08-11 21:28 [PATCH] OPP: Put opp table in dev_pm_opp_set_rate() all the time Stephen Boyd
@ 2020-08-12  6:10 ` Rajendra Nayak
  2020-08-12  8:20 ` Viresh Kumar
  1 sibling, 0 replies; 4+ messages in thread
From: Rajendra Nayak @ 2020-08-12  6:10 UTC (permalink / raw)
  To: Stephen Boyd, Viresh Kumar, Nishanth Menon, Stephen Boyd
  Cc: linux-kernel, linux-pm


On 8/12/2020 2:58 AM, Stephen Boyd wrote:
> We get the opp_table pointer at the top of the function and so we should
> put the pointer at the end of the function like all other exit paths
> from this function do.
> 
> Cc: Rajendra Nayak <rnayak@codeaurora.org>
> Fixes: aca48b61f963 ("opp: Manage empty OPP tables with clk handle")
> Signed-off-by: Stephen Boyd <swboyd@chromium.org>

Thanks for the fix.
Reviewed-by: Rajendra Nayak <rnayak@codeaurora.org>

> ---
>   drivers/opp/core.c | 8 +++++---
>   1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/opp/core.c b/drivers/opp/core.c
> index 9d7fb45b1786..bdb028c7793d 100644
> --- a/drivers/opp/core.c
> +++ b/drivers/opp/core.c
> @@ -893,8 +893,10 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
>   		 * have OPP table for the device, while others don't and
>   		 * opp_set_rate() just needs to behave like clk_set_rate().
>   		 */
> -		if (!_get_opp_count(opp_table))
> -			return 0;
> +		if (!_get_opp_count(opp_table)) {
> +			ret = 0;
> +			goto put_opp_table;
> +		}
>   
>   		if (!opp_table->required_opp_tables && !opp_table->regulators &&
>   		    !opp_table->paths) {
> @@ -905,7 +907,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
>   
>   		ret = _set_opp_bw(opp_table, NULL, dev, true);
>   		if (ret)
> -			return ret;
> +			goto put_opp_table;
>   
>   		if (opp_table->regulator_enabled) {
>   			regulator_disable(opp_table->regulators[0]);
> 

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] OPP: Put opp table in dev_pm_opp_set_rate() all the time
  2020-08-11 21:28 [PATCH] OPP: Put opp table in dev_pm_opp_set_rate() all the time Stephen Boyd
  2020-08-12  6:10 ` Rajendra Nayak
@ 2020-08-12  8:20 ` Viresh Kumar
  2020-08-12  8:22   ` Stephen Boyd
  1 sibling, 1 reply; 4+ messages in thread
From: Viresh Kumar @ 2020-08-12  8:20 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: Viresh Kumar, Nishanth Menon, Stephen Boyd, linux-kernel,
	linux-pm, Rajendra Nayak

On 11-08-20, 14:28, Stephen Boyd wrote:
> @@ -905,7 +907,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
>  
>  		ret = _set_opp_bw(opp_table, NULL, dev, true);
>  		if (ret)
> -			return ret;
> +			goto put_opp_table;

This was broken by a different patch.

Fixes: b00e667a6d8b ("opp: Remove bandwidth votes when target_freq is zero")

I did split the patch into two and applied the correct tags (not yet
pushed though).

-- 
viresh

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] OPP: Put opp table in dev_pm_opp_set_rate() all the time
  2020-08-12  8:20 ` Viresh Kumar
@ 2020-08-12  8:22   ` Stephen Boyd
  0 siblings, 0 replies; 4+ messages in thread
From: Stephen Boyd @ 2020-08-12  8:22 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Viresh Kumar, Nishanth Menon, Stephen Boyd, linux-kernel,
	linux-pm, Rajendra Nayak

Quoting Viresh Kumar (2020-08-12 01:20:13)
> On 11-08-20, 14:28, Stephen Boyd wrote:
> > @@ -905,7 +907,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
> >  
> >               ret = _set_opp_bw(opp_table, NULL, dev, true);
> >               if (ret)
> > -                     return ret;
> > +                     goto put_opp_table;
> 
> This was broken by a different patch.
> 
> Fixes: b00e667a6d8b ("opp: Remove bandwidth votes when target_freq is zero")
> 
> I did split the patch into two and applied the correct tags (not yet
> pushed though).

Ok, makes sense. Thanks!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-08-12  8:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-11 21:28 [PATCH] OPP: Put opp table in dev_pm_opp_set_rate() all the time Stephen Boyd
2020-08-12  6:10 ` Rajendra Nayak
2020-08-12  8:20 ` Viresh Kumar
2020-08-12  8:22   ` Stephen Boyd

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).