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; -#if STM32_CAN_USE_CAN2 - if(canp == &CAND1) { - canp->can->FS1R = 1 | (1 << can2sb); - canp->can->FA1R = 1 | (1 << can2sb); - } -#else canp->can->FS1R = 1; canp->can->FA1R = 1; +#if STM32_CAN_USE_CAN2 + if(canp == &CAND1) { + canp->can->FS1R |= 1 << can2sb; + canp->can->FA1R |= 1 << can2sb; + } #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