]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
can: ctucanfd: use self-test mode for PRESUME_ACK
authorAvi Weiss <thnkslprpt@gmail.com>
Wed, 22 Jul 2026 19:27:26 +0000 (22:27 +0300)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Wed, 29 Jul 2026 09:26:44 +0000 (11:26 +0200)
Use self-test mode for CAN_CTRLMODE_PRESUME_ACK so transmitted
frames can complete without receiving an ACK.

ACK forbidden mode prevents the controller from acknowledging
received frames and does not implement the presume-ack behavior.

Fixes: 2dcb8e8782d8 ("can: ctucanfd: add support for CTU CAN FD open-source IP core - bus independent part.")
Signed-off-by: Avi Weiss <thnkslprpt@gmail.com>
Acked-by: Pavel Pisa <pisa@fel.cvut.cz>
Link: https://patch.msgid.link/20260722192726.230729-1-thnkslprpt@gmail.com
Cc: stable@kernel.org
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/ctucanfd/ctucanfd_base.c

index 10ebcc13ea65696879136c9a46178edd3678f4cd..07d4aa43c700a29cfc1ef04a6a362050db4c7c03 100644 (file)
@@ -340,8 +340,8 @@ static void ctucan_set_mode(struct ctucan_priv *priv, const struct can_ctrlmode
                        (mode_reg & ~REG_MODE_FDE);
 
        mode_reg = (mode->flags & CAN_CTRLMODE_PRESUME_ACK) ?
-                       (mode_reg | REG_MODE_ACF) :
-                       (mode_reg & ~REG_MODE_ACF);
+                       (mode_reg | REG_MODE_STM) :
+                       (mode_reg & ~REG_MODE_STM);
 
        mode_reg = (mode->flags & CAN_CTRLMODE_FD_NON_ISO) ?
                        (mode_reg | REG_MODE_NISOFD) :