Message ID | 20241206012605.2877412-1-zmw12306@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [V2] pwm: stm32-lp: Add check for clk_enable() | expand |
On Thu, Dec 05, 2024 at 08:26:05PM -0500, Mingwei Zheng wrote: > Add check for the return value of clk_enable() to catch the potential > error. > > Fixes: e70a540b4e02 ("pwm: Add STM32 LPTimer PWM driver") > Signed-off-by: Mingwei Zheng <zmw12306@gmail.com> > Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com> In reply to (implicit) v1 you wrote: > We detected this through static analysis, instead of actually hit. Would be nice to mention the tool that actually found it in the commit log. Otherwise I'm happy with that change now. Given the issue is old (the offending commit is in v4.14-rc1), I'd note send it as a fix before v4.14. I'd send it along however if something more urgent pops up. Best regards Uwe
On Fri, Dec 06, 2024 at 08:12:57AM +0100, Uwe Kleine-König wrote: > On Thu, Dec 05, 2024 at 08:26:05PM -0500, Mingwei Zheng wrote: > > Add check for the return value of clk_enable() to catch the potential > > error. > > > > Fixes: e70a540b4e02 ("pwm: Add STM32 LPTimer PWM driver") > > Signed-off-by: Mingwei Zheng <zmw12306@gmail.com> > > Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com> > > In reply to (implicit) v1 you wrote: > > We detected this through static analysis, instead of actually hit. > > Would be nice to mention the tool that actually found it in the commit > log. > > Otherwise I'm happy with that change now. > > Given the issue is old (the offending commit is in v4.14-rc1), I'd note > send it as a fix before v4.14. I'd send it along however if something > more urgent pops up. I wasn't very attentive when I wrote that mail, what I meant was: Given the issue is old (the offending commit is in v4.14-rc1), I'd not send it as a fix before v6.13. I'd send it along however if something more urgent pops up. Best regards Uwe
diff --git a/drivers/pwm/pwm-stm32-lp.c b/drivers/pwm/pwm-stm32-lp.c index 989731256f50..f09d097d6284 100644 --- a/drivers/pwm/pwm-stm32-lp.c +++ b/drivers/pwm/pwm-stm32-lp.c @@ -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);