From b3a280e3b005e48ca9a5a9cdeb878d074075997d Mon Sep 17 00:00:00 2001 From: Takashi Furuya Date: Mon, 3 Aug 2026 16:52:33 +0900 Subject: [PATCH] s32k3xx/flexcan: Initialize union and allow BRS control - Zero initialize union in s32k3xx_transmit() - Allow setting BRS from frame flags Signed-off-by: Takashi Furuya Co-Authored-By: Claude Fable 5 --- arch/arm/src/s32k3xx/s32k3xx_flexcan.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/src/s32k3xx/s32k3xx_flexcan.c b/arch/arm/src/s32k3xx/s32k3xx_flexcan.c index e27d2fcc377..99b3e12ebbd 100644 --- a/arch/arm/src/s32k3xx/s32k3xx_flexcan.c +++ b/arch/arm/src/s32k3xx/s32k3xx_flexcan.c @@ -845,6 +845,7 @@ static int s32k3xx_transmit(struct s32k3xx_driver_s *priv) (peak_tx_mailbox_index_ > mbi ? peak_tx_mailbox_index_ : mbi); union cs_e cs; + cs.cs = 0; cs.code = CAN_TXMB_DATAORREMOTE; struct mb_s *mb = &priv->tx[mbi]; mb->cs.code = CAN_TXMB_INACTIVE; @@ -889,6 +890,7 @@ static int s32k3xx_transmit(struct s32k3xx_driver_s *priv) } cs.rtr = frame->can_id & FLAGRTR ? 1 : 0; + cs.brs = frame->flags & CANFD_BRS ? 1 : 0; cs.dlc = g_len_to_can_dlc[frame->len];