summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Cochran <richardcochran@gmail.com>2011-06-19 05:31:42 +0200
committerDavid S. Miller <davem@davemloft.net>2011-06-20 01:35:30 +0200
commit2aa8f4c9d0f88ae7eacac424d8816de225cfe2aa (patch)
tree00bb3ba2af7ee89aa53ffd9a758ff1b45bf83c91
parenttg3: fix race in transmit time stamping. (diff)
downloadlinux-2aa8f4c9d0f88ae7eacac424d8816de225cfe2aa.tar.xz
linux-2aa8f4c9d0f88ae7eacac424d8816de225cfe2aa.zip
r6040: fix race in transmit time stamping.
Signed-off-by: Richard Cochran <richard.cochran@omicron.at> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/r6040.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c
index 5ee5f8f932ff..00f06e9a7796 100644
--- a/drivers/net/r6040.c
+++ b/drivers/net/r6040.c
@@ -836,6 +836,9 @@ static netdev_tx_t r6040_start_xmit(struct sk_buff *skb,
descptr->buf = cpu_to_le32(pci_map_single(lp->pdev,
skb->data, skb->len, PCI_DMA_TODEVICE));
descptr->status = DSC_OWNER_MAC;
+
+ skb_tx_timestamp(skb);
+
/* Trigger the MAC to check the TX descriptor */
iowrite16(0x01, ioaddr + MTPR);
lp->tx_insert_ptr = descptr->vndescp;
@@ -846,8 +849,6 @@ static netdev_tx_t r6040_start_xmit(struct sk_buff *skb,
spin_unlock_irqrestore(&lp->lock, flags);
- skb_tx_timestamp(skb);
-
return NETDEV_TX_OK;
}