ravb: fix software timestamping
authorLino Sanfilippo <LinoSanfilippo@gmx.de>
Sun, 27 Mar 2016 10:22:02 +0000 (12:22 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Mar 2016 02:41:37 +0000 (22:41 -0400)
In ravb_start_xmit dont call skb_tx_timestamp only when hardware
timestamping is requested: in the latter case software timestamps are
suppressed and thus the call of skb_tx_timestamp does not have any effect.

Instead call skb_tx_timestamp unconditionally in ravb_start_xmit, since
the function checks itself if software timestamping is required or should
be skipped due to hardware timestamping.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/renesas/ravb_main.c

index 4e1a7dba7c4abb50eae3a82d729ce6656cdc4bbd..087e14a3fba726cd0637cbd12f2138b7dbe8adbf 100644 (file)
@@ -1377,11 +1377,11 @@ static netdev_tx_t ravb_start_xmit(struct sk_buff *skb, struct net_device *ndev)
 
                /* TAG and timestamp required flag */
                skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS;
-               skb_tx_timestamp(skb);
                desc->tagh_tsr = (ts_skb->tag >> 4) | TX_TSR;
                desc->ds_tagl |= le16_to_cpu(ts_skb->tag << 12);
        }
 
+       skb_tx_timestamp(skb);
        /* Descriptor type must be set after all the above writes */
        dma_wmb();
        desc->die_dt = DT_FEND;