Hello Vincent,

On 1/10/21 11:35 AM, Vincent Mailhol wrote:
Call skb_tx_timestamp() within can_put_echo_skb() so that a software
tx timestamp gets attached on the skb.

[..]

diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
index 3486704c8a95..3904e0874543 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
@@ -484,6 +484,8 @@ int can_put_echo_skb(struct sk_buff *skb, struct net_device 
*dev,
/* save this skb for tx interrupt echo handling */
                priv->echo_skb[idx] = skb;
+
+               skb_tx_timestamp(skb);
        } else {
                /* locking problem with netif_stop_queue() ?? */
                netdev_err(dev, "%s: BUG! echo_skb %d is occupied!\n", 
__func__, idx);

Personally, I would put the skb_tx_timestamp, before adding it to the array:

        /* make settings for echo to reduce code in irq context */
        skb->pkt_type = PACKET_BROADCAST;
        skb->ip_summed = CHECKSUM_UNNECESSARY;
        skb->dev = dev;
+       skb_tx_timestamp(skb);

        /* save this skb for tx interrupt echo handling */
        priv->echo_skb[idx] = skb;


I don't think it actually matters though.

Regards,

Jeroen

Reply via email to