]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pwm: stm32-lp: Add check for clk_enable()
authorMingwei Zheng <zmw12306@gmail.com>
Fri, 6 Dec 2024 21:53:18 +0000 (16:53 -0500)
committerUwe Kleine-König <ukleinek@kernel.org>
Wed, 18 Dec 2024 10:12:05 +0000 (11:12 +0100)
Add check for the return value of clk_enable() to catch the potential
error.
We used APP-Miner to find it.

Fixes: e70a540b4e02 ("pwm: Add STM32 LPTimer PWM driver")
Signed-off-by: Mingwei Zheng <zmw12306@gmail.com>
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
Link: https://lore.kernel.org/r/20241206215318.3402860-1-zmw12306@gmail.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
drivers/pwm/pwm-stm32-lp.c

index 989731256f5030c5a1752e7d22e2251ff2a41c5b..5832dce8ed9d58a1ff2e41b19db532d5ec29f023 100644 (file)
@@ -167,8 +167,12 @@ static int stm32_pwm_lp_get_state(struct pwm_chip *chip,
        regmap_read(priv->regmap, STM32_LPTIM_CR, &val);
        state->enabled = !!FIELD_GET(STM32_LPTIM_ENABLE, val);
        /* Keep PWM counter clock refcount in sync with PWM initial state */
-       if (state->enabled)
-               clk_enable(priv->clk);
+       if (state->enabled) {
+               int ret = clk_enable(priv->clk);
+
+               if (ret)
+                       return ret;
+       }
 
        regmap_read(priv->regmap, STM32_LPTIM_CFGR, &val);
        presc = FIELD_GET(STM32_LPTIM_PRESC, val);