This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] DRA821: canTxstatus is busy even after Cancellation of Finished messages is set for respective Tx Buffer

Part Number: TDA4VM

Hello,

Customer has enabled AUTO retransmission of messages, and Using the CAN channel on TDA4x device to continuously send messages, and then remove other nodes on the CAN bus. Later it entered into Error passive state , and the CAN driver cannot send messages normally even Again Connecting back other CAN nodes, the CAN driver still cannot restore the sending status and remains in a busy state.(CANTxstatus is still set)

What should be done in this scenario and can you provide patch to fix this issue?

Regards

Tarun Mukesh

  • Hello,

    If the re transmission is completed then there will not be any issue here unless re transmission is cancelled then the issue arises.The CAN driver is clearing(reset) the CANTxStatus only when the transmission is successfully completed(BTO bit) but it has to check Cancellation Finished Flag for the buffer as well to remove the Busy status (BCF bit).

    Please find the attached patch.

    Steps to apply the patch and see the files changed in Linux machine :

    • 1)  Download the patch into local directory.

    • 2)  Go into SDK/mcusw path

    • 3)  git init

    • 4)  git add .

    • 5)  git commit -asm "Original SDK 8.6"

    • 6)  git apply (path to patch in local directory)/(patch_name).patch

    • 7)  git status 

    0001-CAN-Driver-Update-for-cancellation-messages.patch

    Regards

    Tarun Mukesh