diff --git a/os/hal/platforms/STM32/can_lld.c b/os/hal/platforms/STM32/can_lld.c index 7dab31faf..382322fff 100644 --- a/os/hal/platforms/STM32/can_lld.c +++ b/os/hal/platforms/STM32/can_lld.c @@ -569,7 +569,8 @@ bool_t can_lld_is_rx_nonempty(CANDriver *canp, canmbx_t mailbox) { switch (mailbox) { case CAN_ANY_MAILBOX: - return (canp->can->RF0R & (CAN_RF0R_FMP0 | CAN_RF1R_FMP1)) != 0; + return ((canp->can->RF0R & CAN_RF0R_FMP0) != 0 || + (canp->can->RF1R & CAN_RF1R_FMP1) != 0); case 1: return (canp->can->RF0R & CAN_RF0R_FMP0) != 0; case 2: diff --git a/readme.txt b/readme.txt index 8d20e877e..a9e3a6310 100644 --- a/readme.txt +++ b/readme.txt @@ -87,6 +87,7 @@ *** 2.5.2 *** - FIX: Fixed surprising non-CRLF lines in source (bug 3607380). +- FIX: Fixed STM32 CAN mailbox receive for second fifo (bug 3606673). - FIX: Fixed CAN_USE_SLEEP_MODE compilation problem (bug 3606616)(backported to 2.4.4)(backported to 2.2.10). - FIX: Fixed missing HSE bypass option for STM32F103 (bug 3606274).