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

index f5688ff58a406d036873950ccf6e68a02af0878f..55c8245b0cdcbef5bb0c284d04506a27a4a0f027 100644 (file)
@@ -1083,6 +1083,8 @@ static int emac_dev_xmit(struct sk_buff *skb, struct net_device *ndev)
                goto fail_tx;
        }
 
+       skb_tx_timestamp(skb);
+
        ret_code = cpdma_chan_submit(priv->txchan, skb, skb->data, skb->len,
                                     GFP_KERNEL);
        if (unlikely(ret_code != 0)) {
@@ -1090,7 +1092,6 @@ static int emac_dev_xmit(struct sk_buff *skb, struct net_device *ndev)
                        dev_err(emac_dev, "DaVinci EMAC: desc submit failed");
                goto fail_tx;
        }
-       skb_tx_timestamp(skb);
 
        return NETDEV_TX_OK;