]> 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 15:44:08 +0000 (16:44 +0100)
commit99baee9242d3655e8a26918a76de7ad27d03aba3
tree56cff92394ecb2b5b17ad812cfde1b044041756d
parent40cb5c050d6944b875d9fc69a79f40b77d057040
pwm: stm32-lp: fix the check on arr and cmp registers update

[ Upstream commit 3066bc2d58be31275afb51a589668f265e419c37 ]

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