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 <takashi.furuya@nttedt.co.jp>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Takashi Furuya 2026-08-03 16:52:33 +09:00 committed by Xiang Xiao
parent 94f4b9e92f
commit b3a280e3b0

View file

@ -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];