tg3: fix race in transmit time stamping.
authorRichard Cochran <richardcochran@gmail.com>
Sun, 19 Jun 2011 03:31:41 +0000 (03:31 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Jun 2011 23:35:30 +0000 (16:35 -0700)
Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c

index ca6687a942251ca3d306b808c7c8c96bf205de34..97cd02d080216ce1a11079193c93ac91ddcde10d 100644 (file)
@@ -6119,11 +6119,11 @@ static netdev_tx_t tg3_start_xmit(struct sk_buff *skb, struct net_device *dev)
                entry = NEXT_TX(tnapi->tx_prod);
        }
 
+       skb_tx_timestamp(skb);
+
        /* Packets are ready, update Tx producer idx local and on card. */
        tw32_tx_mbox(tnapi->prodmbox, entry);
 
-       skb_tx_timestamp(skb);
-
        tnapi->tx_prod = entry;
        if (unlikely(tg3_tx_avail(tnapi) <= (MAX_SKB_FRAGS + 1))) {
                netif_tx_stop_queue(txq);