diff mbox series

soc/tegra: Fix an error handling path in 'tegra_powergate_power_up()'

Message ID 46d3af4a83e2e7b680c857e8969167f0d2d94841.1624809134.git.christophe.jaillet@wanadoo.fr
State Accepted
Headers show
Series soc/tegra: Fix an error handling path in 'tegra_powergate_power_up()' | expand

Commit Message

Christophe JAILLET June 27, 2021, 3:54 p.m. UTC
If an error occurs after a successful 'tegra_powergate_enable_clocks()'
call, it must be undone by a 'tegra_powergate_disable_clocks()' call, as
already done in the below and above error handling paths of this function.

Update the 'goto' to branch at the correct place of the error handling
path.

Fixes: a38045121bf4 ("soc/tegra: pmc: Add generic PM domain support")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
/!\ This patch is speculative /!\
Review with care.
---
 drivers/soc/tegra/pmc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jon Hunter June 28, 2021, 8:28 a.m. UTC | #1
On 27/06/2021 16:54, Christophe JAILLET wrote:
> If an error occurs after a successful 'tegra_powergate_enable_clocks()'
> call, it must be undone by a 'tegra_powergate_disable_clocks()' call, as
> already done in the below and above error handling paths of this function.
> 
> Update the 'goto' to branch at the correct place of the error handling
> path.
> 
> Fixes: a38045121bf4 ("soc/tegra: pmc: Add generic PM domain support")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> /!\ This patch is speculative /!\
> Review with care.
> ---
>  drivers/soc/tegra/pmc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
> index ea62f84d1c8b..b8ef9506f3de 100644
> --- a/drivers/soc/tegra/pmc.c
> +++ b/drivers/soc/tegra/pmc.c
> @@ -782,7 +782,7 @@ static int tegra_powergate_power_up(struct tegra_powergate *pg,
>  
>  	err = reset_control_deassert(pg->reset);
>  	if (err)
> -		goto powergate_off;
> +		goto disable_clks;
>  
>  	usleep_range(10, 20);


Thanks for the fix.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>

Cheers
Jon
Thierry Reding Oct. 7, 2021, 6:02 p.m. UTC | #2
On Sun, Jun 27, 2021 at 05:54:31PM +0200, Christophe JAILLET wrote:
> If an error occurs after a successful 'tegra_powergate_enable_clocks()'
> call, it must be undone by a 'tegra_powergate_disable_clocks()' call, as
> already done in the below and above error handling paths of this function.
> 
> Update the 'goto' to branch at the correct place of the error handling
> path.
> 
> Fixes: a38045121bf4 ("soc/tegra: pmc: Add generic PM domain support")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> /!\ This patch is speculative /!\
> Review with care.
> ---
>  drivers/soc/tegra/pmc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

Thierry
diff mbox series

Patch

diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
index ea62f84d1c8b..b8ef9506f3de 100644
--- a/drivers/soc/tegra/pmc.c
+++ b/drivers/soc/tegra/pmc.c
@@ -782,7 +782,7 @@  static int tegra_powergate_power_up(struct tegra_powergate *pg,
 
 	err = reset_control_deassert(pg->reset);
 	if (err)
-		goto powergate_off;
+		goto disable_clks;
 
 	usleep_range(10, 20);