]> git.baikalelectronics.ru Git - kernel.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:55:17 +0000 (13:55 +0100)
commit4c0b15412433e62811addb2ad723a2bfbd5eb860
tree50c009918539354a74560fa64c7123ae63adb05c
parentd69b815962c0830177e41bd0e73961913ad07ffd
pwm: stm32-lp: fix the check on arr and cmp registers update

[ Upstream commit 64d5f324de18031018807b35082fc7d881cc6b31 ]

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: 7044bc03c3a3 ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pwm/pwm-stm32-lp.c