tg3: fix race in transmit time stamping.
Richard Cochran [Sun, 19 Jun 2011 03:31:41 +0000 (03:31 +0000)]
Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/tg3.c

index ca6687a..97cd02d 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);