diff options
author | Richard Cochran <richardcochran@gmail.com> | 2011-06-18 23:31:42 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-06-19 19:35:30 -0400 |
commit | 2aa8f4c9d0f88ae7eacac424d8816de225cfe2aa (patch) | |
tree | 00bb3ba2af7ee89aa53ffd9a758ff1b45bf83c91 /drivers/net/r6040.c | |
parent | d515b450bfd50d355c5b3230685b997faeee5c49 (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.c | 5 |
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 | ||