|
@@ -926,7 +926,6 @@ static int mtk_poll_tx(struct mtk_eth *eth, int budget, bool *tx_again)
|
|
}
|
|
}
|
|
mtk_tx_unmap(eth->dev, tx_buf);
|
|
mtk_tx_unmap(eth->dev, tx_buf);
|
|
|
|
|
|
- ring->last_free->txd2 = next_cpu;
|
|
|
|
ring->last_free = desc;
|
|
ring->last_free = desc;
|
|
atomic_inc(&ring->free_count);
|
|
atomic_inc(&ring->free_count);
|
|
|
|
|
|
@@ -1032,7 +1031,7 @@ static int mtk_tx_alloc(struct mtk_eth *eth)
|
|
|
|
|
|
atomic_set(&ring->free_count, MTK_DMA_SIZE - 2);
|
|
atomic_set(&ring->free_count, MTK_DMA_SIZE - 2);
|
|
ring->next_free = &ring->dma[0];
|
|
ring->next_free = &ring->dma[0];
|
|
- ring->last_free = &ring->dma[MTK_DMA_SIZE - 2];
|
|
|
|
|
|
+ ring->last_free = &ring->dma[MTK_DMA_SIZE - 1];
|
|
ring->thresh = MAX_SKB_FRAGS;
|
|
ring->thresh = MAX_SKB_FRAGS;
|
|
|
|
|
|
/* make sure that all changes to the dma ring are flushed before we
|
|
/* make sure that all changes to the dma ring are flushed before we
|