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


Reply via email to