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 0bef8b2ae..bc9190984 100644 --- a/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.c +++ b/os/hal/ports/STM32/LLD/CANv1/hal_can_lld.c @@ -80,7 +80,8 @@ static void can_lld_set_filters(uint32_t can2sb, rccEnableCAN1(FALSE); /* Filters initialization.*/ - CAN1->FMR = (CAN1->FMR & 0xFFFF0000) | (can2sb << 8) | CAN_FMR_FINIT; + CAN1->FMR = (CAN1->FMR & 0xFFFF0000) | CAN_FMR_FINIT; + CAN1->FMR |= (can2sb << 8); if (num > 0) { uint32_t i, fmask; diff --git a/readme.txt b/readme.txt index eed9540d3..60f3f8646 100644 --- a/readme.txt +++ b/readme.txt @@ -123,8 +123,9 @@ - RT: Merged RT4. - NIL: Merged NIL2. - NIL: Added STM32F7 demo. -- HAL: Fixed wrong bit mask in STM32L0xx port (bug #769) (backported to 16.1.6) - (bug #768)(backported to 16.1.6). +- HAL: Fixed STM32 CAN filters initialization problem (bug #770)(backported + to 16.1.6, 3.0.6, 2.6.10). +- HAL: Fixed wrong bit mask in STM32L0xx port (bug #769)(backported to 16.1.6). - HAL: Fixed potential wait states problem in STM32L4 initialization code (bug #768)(backported to 16.1.6). - HAL: Fixed SDIO driver not compiling on STM32F446 devices (bug #767)