From 0bc897df15afac24da27feacfb666b9c51cdc669 Mon Sep 17 00:00:00 2001 From: Gabriel de Sousa Date: Mon, 30 Oct 2023 19:27:38 -0400 Subject: [PATCH] FIX: s32kxxx flexcan doesn't set srr bit for extended frames --- arch/arm/src/s32k1xx/s32k1xx_flexcan.c | 2 ++ arch/arm/src/s32k3xx/s32k3xx_flexcan.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/arm/src/s32k1xx/s32k1xx_flexcan.c b/arch/arm/src/s32k1xx/s32k1xx_flexcan.c index 7bc9a7c59c7..714b94d0a19 100644 --- a/arch/arm/src/s32k1xx/s32k1xx_flexcan.c +++ b/arch/arm/src/s32k1xx/s32k1xx_flexcan.c @@ -695,6 +695,7 @@ static int s32k1xx_transmit(struct s32k1xx_driver_s *priv) if (frame->can_id & CAN_EFF_FLAG) { cs.ide = 1; + cs.srr = 1; mb->id.ext = frame->can_id & MASKEXTID; } else @@ -718,6 +719,7 @@ static int s32k1xx_transmit(struct s32k1xx_driver_s *priv) if (frame->can_id & CAN_EFF_FLAG) { cs.ide = 1; + cs.srr = 1; mb->id.ext = frame->can_id & MASKEXTID; } else diff --git a/arch/arm/src/s32k3xx/s32k3xx_flexcan.c b/arch/arm/src/s32k3xx/s32k3xx_flexcan.c index acb289a9ad6..0e9fb46eedd 100644 --- a/arch/arm/src/s32k3xx/s32k3xx_flexcan.c +++ b/arch/arm/src/s32k3xx/s32k3xx_flexcan.c @@ -857,6 +857,7 @@ static int s32k3xx_transmit(struct s32k3xx_driver_s *priv) if (frame->can_id & CAN_EFF_FLAG) { cs.ide = 1; + cs.srr = 1; mb->id.ext = frame->can_id & MASKEXTID; } else @@ -880,6 +881,7 @@ static int s32k3xx_transmit(struct s32k3xx_driver_s *priv) if (frame->can_id & CAN_EFF_FLAG) { cs.ide = 1; + cs.srr = 1; mb->id.ext = frame->can_id & MASKEXTID; } else