From 8e18b2e02433c692fad5fb9a091f7e4cc16c1c36 Mon Sep 17 00:00:00 2001 From: Lennert Buytenhek Date: Sat, 13 Sep 2008 04:16:15 +0200 Subject: [PATCH] --- yaml --- r: 111896 b: refs/heads/master c: a418950c1378c4a3722baecdbe98df78ea23f231 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/mv643xx_eth.c | 22 +++++++--------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/[refs] b/[refs] index 152f2e72cb83..1f194c650c4f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8fd89211bf8e8e60415c66e5546c1478f5e8bc2b +refs/heads/master: a418950c1378c4a3722baecdbe98df78ea23f231 diff --git a/trunk/drivers/net/mv643xx_eth.c b/trunk/drivers/net/mv643xx_eth.c index d653b5a19e77..7410eca87823 100644 --- a/trunk/drivers/net/mv643xx_eth.c +++ b/trunk/drivers/net/mv643xx_eth.c @@ -866,8 +866,6 @@ static int txq_reclaim(struct tx_queue *txq, int budget, int force) struct tx_desc *desc; u32 cmd_sts; struct sk_buff *skb; - dma_addr_t addr; - int count; tx_index = txq->tx_used_desc; desc = &txq->tx_desc_area[tx_index]; @@ -886,8 +884,6 @@ static int txq_reclaim(struct tx_queue *txq, int budget, int force) reclaimed++; txq->tx_desc_count--; - addr = desc->buf_ptr; - count = desc->byte_cnt; skb = txq->tx_skb[tx_index]; txq->tx_skb[tx_index] = NULL; @@ -896,20 +892,16 @@ static int txq_reclaim(struct tx_queue *txq, int budget, int force) mp->dev->stats.tx_errors++; } - /* - * Drop tx queue lock while we free the skb. - */ - __netif_tx_unlock(nq); - - if (cmd_sts & TX_FIRST_DESC) - dma_unmap_single(NULL, addr, count, DMA_TO_DEVICE); - else - dma_unmap_page(NULL, addr, count, DMA_TO_DEVICE); + if (cmd_sts & TX_FIRST_DESC) { + dma_unmap_single(NULL, desc->buf_ptr, + desc->byte_cnt, DMA_TO_DEVICE); + } else { + dma_unmap_page(NULL, desc->buf_ptr, + desc->byte_cnt, DMA_TO_DEVICE); + } if (skb) dev_kfree_skb(skb); - - __netif_tx_lock(nq, smp_processor_id()); } __netif_tx_unlock(nq);