aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c4
-rw-r--r--readme.txt2
2 files changed, 4 insertions, 2 deletions
diff --git a/os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c b/os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c
index a59105215..6bf31ebc0 100644
--- a/os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c
+++ b/os/hal/ports/STM32/LLD/TIMv1/hal_pwm_lld.c
@@ -771,8 +771,8 @@ void pwm_lld_enable_periodic_notification(PWMDriver *pwmp) {
/* If the IRQ is not already enabled care must be taken to clear it,
it is probably already pending because the timer is running.*/
if ((dier & STM32_TIM_DIER_UIE) == 0) {
+ pwmp->tim->SR = ~STM32_TIM_SR_UIF;
pwmp->tim->DIER = dier | STM32_TIM_DIER_UIE;
- pwmp->tim->SR &= STM32_TIM_SR_UIF;
}
}
@@ -813,8 +813,8 @@ void pwm_lld_enable_channel_notification(PWMDriver *pwmp,
/* If the IRQ is not already enabled care must be taken to clear it,
it is probably already pending because the timer is running.*/
if ((dier & (2 << channel)) == 0) {
- pwmp->tim->DIER = dier | (2 << channel);
pwmp->tim->SR = ~(2 << channel);
+ pwmp->tim->DIER = dier | (2 << channel);
}
}
diff --git a/readme.txt b/readme.txt
index 84a5c8b5e..dbb79d4f3 100644
--- a/readme.txt
+++ b/readme.txt
@@ -111,6 +111,8 @@
- EX: Updated LIS302DL to 1.1.0 (backported to 18.2.1).
- EX: Updated LPS25H to 1.1.0 (backported to 18.2.1).
- EX: Updated LSM303DLHC to 1.1.0 (backported to 18.2.1).
+- HAL: Fixed problem clearing UIF timer flag in STM32 PWM driver (bug #934)
+ (backported to 18.2.1 and 17.6.5).
- HAL: Fixed USB Serial driver problem with zero-size OUT transactions
(bug #933)(backported to 18.2.1 and 17.6.5).
- HAL: Fixed race condition in STM32 QSPI driver (bug #932)(backported to