soc/tegra: Fix an error handling path in tegra_powergate_power_up()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 27 Jun 2021 15:54:31 +0000 (17:54 +0200)
committerThierry Reding <treding@nvidia.com>
Thu, 7 Oct 2021 18:01:54 +0000 (20:01 +0200)
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>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/soc/tegra/pmc.c

index 2ad7b3bceb80c1f2a99d5f7e6531f162e3eb7336..6695935a81f11d0faa4d09f28b96e64a76ccf146 100644 (file)
@@ -783,7 +783,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);