pwm: stm32-lp: fix the check on arr and cmp registers update
authorFabrice Gasnier <fabrice.gasnier@foss.st.com>
Wed, 23 Nov 2022 13:36:52 +0000 (14:36 +0100)
committerThierry Reding <thierry.reding@gmail.com>
Mon, 30 Jan 2023 15:42:45 +0000 (16:42 +0100)
commit3066bc2d58be31275afb51a589668f265e419c37
tree03bd6473d105227c188949af5a3fa754a0457642
parentb3c650ad9bb88ecf36b9aeacf9e7eb7478258da7
pwm: stm32-lp: fix the check on arr and cmp registers update

The ARR (auto reload register) and CMP (compare) registers are
successively written. The status bits to check the update of these
registers are polled together with regmap_read_poll_timeout().
The condition to end the loop may become true, even if one of the
register isn't correctly updated.
So ensure both status bits are set before clearing them.

Fixes: e70a540b4e02 ("pwm: Add STM32 LPTimer PWM driver")
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-stm32-lp.c