diff options
-rw-r--r-- | drivers/net/mv643xx_eth.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index d653b5a19e77..7410eca87823 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c | |||
@@ -866,8 +866,6 @@ static int txq_reclaim(struct tx_queue *txq, int budget, int force) | |||
866 | struct tx_desc *desc; | 866 | struct tx_desc *desc; |
867 | u32 cmd_sts; | 867 | u32 cmd_sts; |
868 | struct sk_buff *skb; | 868 | struct sk_buff *skb; |
869 | dma_addr_t addr; | ||
870 | int count; | ||
871 | 869 | ||
872 | tx_index = txq->tx_used_desc; | 870 | tx_index = txq->tx_used_desc; |
873 | desc = &txq->tx_desc_area[tx_index]; | 871 | desc = &txq->tx_desc_area[tx_index]; |
@@ -886,8 +884,6 @@ static int txq_reclaim(struct tx_queue *txq, int budget, int force) | |||
886 | reclaimed++; | 884 | reclaimed++; |
887 | txq->tx_desc_count--; | 885 | txq->tx_desc_count--; |
888 | 886 | ||
889 | addr = desc->buf_ptr; | ||
890 | count = desc->byte_cnt; | ||
891 | skb = txq->tx_skb[tx_index]; | 887 | skb = txq->tx_skb[tx_index]; |
892 | txq->tx_skb[tx_index] = NULL; | 888 | txq->tx_skb[tx_index] = NULL; |
893 | 889 | ||
@@ -896,20 +892,16 @@ static int txq_reclaim(struct tx_queue *txq, int budget, int force) | |||
896 | mp->dev->stats.tx_errors++; | 892 | mp->dev->stats.tx_errors++; |
897 | } | 893 | } |
898 | 894 | ||
899 | /* | 895 | if (cmd_sts & TX_FIRST_DESC) { |
900 | * Drop tx queue lock while we free the skb. | 896 | dma_unmap_single(NULL, desc->buf_ptr, |
901 | */ | 897 | desc->byte_cnt, DMA_TO_DEVICE); |
902 | __netif_tx_unlock(nq); | 898 | } else { |
903 | 899 | dma_unmap_page(NULL, desc->buf_ptr, | |
904 | if (cmd_sts & TX_FIRST_DESC) | 900 | desc->byte_cnt, DMA_TO_DEVICE); |
905 | dma_unmap_single(NULL, addr, count, DMA_TO_DEVICE); | 901 | } |
906 | else | ||
907 | dma_unmap_page(NULL, addr, count, DMA_TO_DEVICE); | ||
908 | 902 | ||
909 | if (skb) | 903 | if (skb) |
910 | dev_kfree_skb(skb); | 904 | dev_kfree_skb(skb); |
911 | |||
912 | __netif_tx_lock(nq, smp_processor_id()); | ||
913 | } | 905 | } |
914 | 906 | ||
915 | __netif_tx_unlock(nq); | 907 | __netif_tx_unlock(nq); |