aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2017-08-24 11:26:41 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2017-08-24 11:26:41 +0000
commit7426edd2a280249117f4b9e784f427cc9e217e7b (patch)
tree1b32e5a36c578c3bfe435046ea04c07960d2a998
parentdb035833f5f7d1d13c0decb467d69026fab288b9 (diff)
downloadChibiOS-7426edd2a280249117f4b9e784f427cc9e217e7b.tar.gz
ChibiOS-7426edd2a280249117f4b9e784f427cc9e217e7b.tar.bz2
ChibiOS-7426edd2a280249117f4b9e784f427cc9e217e7b.zip
Fixed bug #878.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10471 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--os/hal/ports/STM32/LLD/CANv1/hal_can_lld.c9
-rw-r--r--readme.txt2
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