aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/r6040.c
diff options
context:
space:
mode:
authorRichard Cochran <richardcochran@gmail.com>2011-06-18 23:31:42 -0400
committerDavid S. Miller <davem@davemloft.net>2011-06-19 19:35:30 -0400
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 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,
836 descptr->buf = cpu_to_le32(pci_map_single(lp->pdev, 836 descptr->buf = cpu_to_le32(pci_map_single(lp->pdev,
837 skb->data, skb->len, PCI_DMA_TODEVICE)); 837 skb->data, skb->len, PCI_DMA_TODEVICE));
838 descptr->status = DSC_OWNER_MAC; 838 descptr->status = DSC_OWNER_MAC;
839
840 skb_tx_timestamp(skb);
841
839 /* Trigger the MAC to check the TX descriptor */ 842 /* Trigger the MAC to check the TX descriptor */
840 iowrite16(0x01, ioaddr + MTPR); 843 iowrite16(0x01, ioaddr + MTPR);
841 lp->tx_insert_ptr = descptr->vndescp; 844 lp->tx_insert_ptr = descptr->vndescp;
@@ -846,8 +849,6 @@ static netdev_tx_t r6040_start_xmit(struct sk_buff *skb,
846 849
847 spin_unlock_irqrestore(&lp->lock, flags); 850 spin_unlock_irqrestore(&lp->lock, flags);
848 851
849 skb_tx_timestamp(skb);
850
851 return NETDEV_TX_OK; 852 return NETDEV_TX_OK;
852} 853}
853 854