]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
clk: qcom: clk-alpha-pll: fix lucid 5lpe pll enabled check
authorJohan Hovold <johan+linaro@kernel.org>
Tue, 22 Oct 2024 08:05:21 +0000 (10:05 +0200)
committerBjorn Andersson <andersson@kernel.org>
Wed, 23 Oct 2024 02:46:35 +0000 (21:46 -0500)
The lucid 5lpe PLL enable check only checks for an impossible negative
return value and does not actually return as intended in case the PLL is
already enabled (e.g. has been left enabled by boot firmware).

Fixes: f4c7e27aa4b6 ("clk: qcom: clk-alpha-pll: Add support for Lucid 5LPE PLL")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20241022080521.359-3-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/clk-alpha-pll.c

index 99d6962d25bbb77b89881fc9a5e908f41219fdfd..bd1dbef04d9de3926ededbf975ddbb380c7e52a8 100644 (file)
@@ -1903,9 +1903,8 @@ static int alpha_pll_lucid_5lpe_enable(struct clk_hw *hw)
        }
 
        /* Check if PLL is already enabled, return if enabled */
-       ret = trion_pll_is_enabled(pll, pll->clkr.regmap);
-       if (ret < 0)
-               return ret;
+       if (trion_pll_is_enabled(pll, pll->clkr.regmap))
+               return 0;
 
        ret = regmap_update_bits(pll->clkr.regmap, PLL_MODE(pll), PLL_RESET_N, PLL_RESET_N);
        if (ret)