From 51053932a350b4e9b9d0747ff8522f26d04037fb Mon Sep 17 00:00:00 2001 From: Henrik Brix Andersen Date: Fri, 8 Apr 2022 13:55:33 +0200 Subject: [PATCH] drivers: can: mcux: flexcan: fix mailbox allocation for errata 5461/5829 Commit a50b69dfb72a0381f5f4b62d974b6de02d869a95 introduced a work-around for FlexCAN errata 5461 and 5829, but neglegted to take the RX mailbox offset into account when calculating maximum number of mailboxes allocated for RX/TX. Fixes: #44724 Signed-off-by: Henrik Brix Andersen --- drivers/can/Kconfig.mcux | 2 +- drivers/can/can_mcux_flexcan.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/can/Kconfig.mcux b/drivers/can/Kconfig.mcux index 7d27ddc5aed..474944019f0 100644 --- a/drivers/can/Kconfig.mcux +++ b/drivers/can/Kconfig.mcux @@ -15,7 +15,7 @@ config CAN_MAX_FILTER depends on CAN_MCUX_FLEXCAN default 5 range 1 15 if SOC_SERIES_KINETIS_KE1XF || SOC_SERIES_KINETIS_K6X - range 1 64 if SOC_SERIES_IMX_RT + range 1 63 if SOC_SERIES_IMX_RT help Defines maximum number of concurrent active RX filters diff --git a/drivers/can/can_mcux_flexcan.c b/drivers/can/can_mcux_flexcan.c index 2df8116b17d..4c90bbad7b3 100644 --- a/drivers/can/can_mcux_flexcan.c +++ b/drivers/can/can_mcux_flexcan.c @@ -51,7 +51,7 @@ LOG_MODULE_REGISTER(can_mcux_flexcan, CONFIG_CAN_LOG_LEVEL); * RX message buffers (filters) will take up the first N message * buffers. The rest are available for TX use. */ -#define MCUX_FLEXCAN_MAX_RX CONFIG_CAN_MAX_FILTER +#define MCUX_FLEXCAN_MAX_RX (CONFIG_CAN_MAX_FILTER + RX_START_IDX) #define MCUX_FLEXCAN_MAX_TX \ (FSL_FEATURE_FLEXCAN_HAS_MESSAGE_BUFFER_MAX_NUMBERn(0) \ - MCUX_FLEXCAN_MAX_RX)