Re: [PATCH v2 1/1] can: ucan: add driver for Theobroma Systems UCAN devices

From: Wolfgang Grandegger
Date: Wed Mar 14 2018 - 05:25:11 EST




Am 14.03.2018 um 10:17 schrieb Wolfgang Grandegger:


Am 14.03.2018 um 10:14 schrieb Jakob Unterwurzacher:
On 14.03.18 10:11, Wolfgang Grandegger wrote:
+ÂÂÂ /* handle error frames */
+ÂÂÂ canid = le32_to_cpu(m->msg.can_msg.id);
+ÂÂÂ if (canid & CAN_ERR_FLAG) {
+ÂÂÂÂÂÂÂ ucan_handle_error_frame(up, m, canid);
+ÂÂÂÂÂÂÂ /* drop frame if berr-reporting is off */
+ÂÂÂÂÂÂÂ if (!(up->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING))
+ÂÂÂÂÂÂÂÂÂÂÂ return;
+ÂÂÂ }

You still do not generate error messages for state changes, IIUC.

The hardware generates error frames on state changes - is that what you mean?

In our testing, the state shows up (and updates) correctly in

ÂÂÂÂÂip -details -statistics link show can0

Counting the state changes is one thing but you should also generate error messages for them.

The usual test here is:

$ candump -td -e any,0:0,#FFFFFFFF

should report proper state changes, if you send messages with

1. no cable connected
2. CAN high and low short-circuited

Also downwards if the hardware error is gone and you continue to send messages.

Wolfgang.