From 7426edd2a280249117f4b9e784f427cc9e217e7b Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Thu, 24 Aug 2017 11:26:41 +0000 Subject: Fixed bug #878. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10471 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/ports/STM32/LLD/CANv1/hal_can_lld.c | 9 ++++----- 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 -- cgit v1.2.3