diff mbox series

cpufreq: sti-cpufreq: fix mem leak in sti_cpufreq_set_opp_info()

Message ID 20201012140141.20296-1-frank@allwinnertech.com (mailing list archive)
State New, archived
Delegated to: viresh kumar
Headers show
Series cpufreq: sti-cpufreq: fix mem leak in sti_cpufreq_set_opp_info() | expand

Commit Message

Frank Lee Oct. 12, 2020, 2:01 p.m. UTC
From: Yangtao Li <tiny.windzz@gmail.com>

Use dev_pm_opp_put_prop_name() to avoid mem leak, which free opp_table.

Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
Signed-off-by: Yangtao Li <frank@allwinnertech.com>
---
 drivers/cpufreq/sti-cpufreq.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Viresh Kumar Oct. 28, 2020, 6:08 a.m. UTC | #1
On 12-10-20, 22:01, Frank Lee wrote:
> From: Yangtao Li <tiny.windzz@gmail.com>
> 
> Use dev_pm_opp_put_prop_name() to avoid mem leak, which free opp_table.
> 
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> Signed-off-by: Yangtao Li <frank@allwinnertech.com>
> ---
>  drivers/cpufreq/sti-cpufreq.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/cpufreq/sti-cpufreq.c b/drivers/cpufreq/sti-cpufreq.c
> index a5ad96d29adc..9668a48dad33 100644
> --- a/drivers/cpufreq/sti-cpufreq.c
> +++ b/drivers/cpufreq/sti-cpufreq.c
> @@ -222,7 +222,8 @@ static int sti_cpufreq_set_opp_info(void)
>  	opp_table = dev_pm_opp_set_supported_hw(dev, version, VERSION_ELEMENTS);
>  	if (IS_ERR(opp_table)) {
>  		dev_err(dev, "Failed to set supported hardware\n");
> -		return PTR_ERR(opp_table);
> +		ret = PTR_ERR(opp_table);
> +		goto err_put_prop_name;
>  	}
>  
>  	dev_dbg(dev, "pcode: %d major: %d minor: %d substrate: %d\n",
> @@ -231,6 +232,10 @@ static int sti_cpufreq_set_opp_info(void)
>  		version[0], version[1], version[2]);
>  
>  	return 0;
> +
> +err_put_prop_name:
> +	dev_pm_opp_put_prop_name(opp_table);
> +	return ret;
>  }
>  
>  static int sti_cpufreq_fetch_syscon_registers(void)

Applied. Thanks.
diff mbox series

Patch

diff --git a/drivers/cpufreq/sti-cpufreq.c b/drivers/cpufreq/sti-cpufreq.c
index a5ad96d29adc..9668a48dad33 100644
--- a/drivers/cpufreq/sti-cpufreq.c
+++ b/drivers/cpufreq/sti-cpufreq.c
@@ -222,7 +222,8 @@  static int sti_cpufreq_set_opp_info(void)
 	opp_table = dev_pm_opp_set_supported_hw(dev, version, VERSION_ELEMENTS);
 	if (IS_ERR(opp_table)) {
 		dev_err(dev, "Failed to set supported hardware\n");
-		return PTR_ERR(opp_table);
+		ret = PTR_ERR(opp_table);
+		goto err_put_prop_name;
 	}
 
 	dev_dbg(dev, "pcode: %d major: %d minor: %d substrate: %d\n",
@@ -231,6 +232,10 @@  static int sti_cpufreq_set_opp_info(void)
 		version[0], version[1], version[2]);
 
 	return 0;
+
+err_put_prop_name:
+	dev_pm_opp_put_prop_name(opp_table);
+	return ret;
 }
 
 static int sti_cpufreq_fetch_syscon_registers(void)