summaryrefslogtreecommitdiffstats
path: root/drivers/net/r6040.c
diff options
context:
space:
mode:
authorRichard Cochran <richardcochran@gmail.com>2011-06-19 03:31:42 +0000
committerDavid S. Miller <davem@davemloft.net>2011-06-19 16:35:30 -0700
commit2aa8f4c9d0f88ae7eacac424d8816de225cfe2aa (patch)
tree00bb3ba2af7ee89aa53ffd9a758ff1b45bf83c91 /drivers/net/r6040.c
parentd515b450bfd50d355c5b3230685b997faeee5c49 (diff)
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>
Diffstat (limited to 'drivers/net/r6040.c')
-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 5ee5f8f932f..00f06e9a779 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;
}