diff options
-rw-r--r-- | os/hal/ports/STM32/LLD/CANv1/hal_can_lld.c | 9 | ||||
-rw-r--r-- | readme.txt | 2 |
2 files changed, 6 insertions, 5 deletions
diff --git a/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.c b/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.c index 09dbac7f0..d0a25fb77 100644 --- a/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.c +++ b/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.c @@ -162,14 +162,13 @@ static void can_lld_set_filters(CANDriver* canp, #endif
canp->can->FM1R = 0;
canp->can->FFA1R = 0;
+ canp->can->FS1R = 1;
+ canp->can->FA1R = 1;
#if STM32_CAN_USE_CAN2
if(canp == &CAND1) {
- canp->can->FS1R = 1 | (1 << can2sb);
- canp->can->FA1R = 1 | (1 << can2sb);
+ canp->can->FS1R |= 1 << can2sb;
+ canp->can->FA1R |= 1 << can2sb;
}
-#else
- canp->can->FS1R = 1;
- canp->can->FA1R = 1;
#endif
}
canp->can->FMR &= ~CAN_FMR_FINIT;
diff --git a/readme.txt b/readme.txt index 959871b00..069bdb27c 100644 --- a/readme.txt +++ b/readme.txt @@ -93,6 +93,8 @@ dependencies and configuration directories. This makes possible
to have multiple non-conflicting makefiles in the same project.
Updated the various platform.mk implementing "smart build" mode.
+- HAL: Fixed invalid STM32 CAN3 filters initialization (bug #878)
+ (backported to 17.6.1).
- HAL: Fixed missing CAN definitions in STM32L432 registry entry (bug #877)
(backported to 17.6.1).
- HAL: Fixed missing STM32_TIM_MAX_CHANNELS definition in STM32L0 registry
|