This is an automated email from the ASF dual-hosted git repository.

jerpelea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 0b949f7bd2689d24ecb63abcf776a7c60c81aa76
Author: p-szafonimateusz <[email protected]>
AuthorDate: Thu Oct 30 15:23:30 2025 +0100

    can/ctucanfd_pci.c: fix spurious RX interrupt for socketCAN.
    
    Fix spurious RX interrupt for socketCAN in CTU CAN FD.
    We have to clear RX interrupt status before re-enabling interrupts.
    
    Signed-off-by: p-szafonimateusz <[email protected]>
---
 drivers/can/ctucanfd_pci.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/can/ctucanfd_pci.c b/drivers/can/ctucanfd_pci.c
index 7b99299ff89..ba9399ff118 100644
--- a/drivers/can/ctucanfd_pci.c
+++ b/drivers/can/ctucanfd_pci.c
@@ -1255,6 +1255,10 @@ static FAR netpkt_t *ctucanfd_sock_recv(FAR struct 
netdev_lowerhalf_s *dev)
   regval = ctucanfd_getreg(priv, CTUCANFD_RXSETSTAT);
   if ((regval & CTUCANFD_RXSTAT_RXE) != 0)
     {
+      /* Clear RX interrupt before re-enabling interrupts */
+
+      ctucanfd_putreg(priv, CTUCANFD_INTSTAT, CTUCANFD_SOCK_RXINT);
+
       /* Re-enable RX interrupts if no more messages to read */
 
       ctucanfd_rxint(priv, true);

Reply via email to