Re: [PATCH] can: don't count arbitration lose as an error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux