CAN: Tx buffer error

Hello ,

Continuing the discussion from MTTCAN on Orin NX issues:

I had the same problem and checked out your previous posts.
The only way to restore the CAN transmit function with your patch modification is to turn CAN off and on again.

But according to my understanding, the automatic recovery of busoff should restore the CAN transmit function at the same time, otherwise the recovery of busoff is meaningless.
I added a modification according to my understanding: reset tx_object after busoff executes the recovery logic.
The test works and it can automatically restore the transmit function after busoff.

Since I haven’t fully analyzed your can driver, I need your help:
Is it possible to make this modification? Will this one modification cause me to introduce other unknown issues?

Hi hanyu.du,

The recovery mechanism is occurred when you reach the timeout specified for restart-ms to exit the bus-off state. If the CAN connection is still wrong after this timeout, then it could sill not be recovered successfully so that it stays at bus-off state. In this time, you can only reconfigure CAN interface to get it recovered.

That is to clear the tx buffer.
Do you get other side effect after you added that patch?
If not, I think you can just apply it in your case.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.