Hello Marc,
[...]
What about one shot mode on the sja1000 cores?
That is a good question. I guess it will be counted as error by:
if (isrc & IRQ_TI) {
/* transmission buffer released */
if (priv->can.ctrlmode & CAN_CTRLMODE_ONE_SHOT &&
!(status & SR_TCS)) {
stats->tx_errors++;
can_free_echo_skb(dev, 0);
} else {
/* transmission complete */
stats->tx_bytes +=
priv->read_reg(priv, SJA1000_FI) & 0xf;
stats->tx_packets++;
can_get_echo_skb(dev, 0);
}
netif_wake_queue(dev);
can_led_event(dev, CAN_LED_EVENT_TX);
}
I just realized this is likely the case. If it wasn't called,
can_free_echo_skb won't be called, causing a memory
leak. I guess someone would have noticed that.
Regards,
Jeroen