From 24574e010e78c82cca6c0aa7c9eef48cebbf3e2e Mon Sep 17 00:00:00 2001
From: Sujuan Chen <sujuan.chen@mediatek.com>
Date: Fri, 25 Nov 2022 12:05:06 +0800
Subject: [PATCH 3003/3013] mt76: connac: wed: add wed rx copy skb

Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com>
---
 dma.c | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/dma.c b/dma.c
index dc8d888..53c7528 100644
--- a/dma.c
+++ b/dma.c
@@ -386,9 +386,12 @@ mt76_dma_get_buf(struct mt76_dev *dev, struct mt76_queue *q, int idx,
 				 SKB_WITH_OVERHEAD(q->buf_size),
 				 DMA_FROM_DEVICE);
 
-		buf = t->ptr;
+		buf = page_frag_alloc(&q->rx_page, q->buf_size, GFP_ATOMIC);
+		if (!buf)
+			return NULL;
+
+		memcpy(buf, t->ptr, SKB_WITH_OVERHEAD(q->buf_size));
 		t->dma_addr = 0;
-		t->ptr = NULL;
 
 		mt76_put_rxwi(dev, t);
 
@@ -568,6 +571,7 @@ mt76_dma_rx_fill(struct mt76_dev *dev, struct mt76_queue *q)
 	while (q->queued < q->ndesc - 1) {
 		struct mt76_txwi_cache *t = NULL;
 		struct mt76_queue_buf qbuf;
+		bool skip_alloc = false;
 		void *buf = NULL;
 
 		if ((q->flags & MT_QFLAG_WED) &&
@@ -575,11 +579,18 @@ mt76_dma_rx_fill(struct mt76_dev *dev, struct mt76_queue *q)
 			t = mt76_get_rxwi(dev);
 			if (!t)
 				break;
+
+			if (t->ptr) {
+				skip_alloc = true;
+				buf = t->ptr;
+			}
 		}
 
-		buf = page_frag_alloc(&q->rx_page, q->buf_size, GFP_ATOMIC);
-		if (!buf)
-			break;
+		if (!skip_alloc) {
+			buf = page_frag_alloc(&q->rx_page, q->buf_size, GFP_ATOMIC);
+			if (!buf)
+				break;
+		}
 
 		addr = dma_map_single(dev->dma_dev, buf, len, DMA_FROM_DEVICE);
 		if (unlikely(dma_mapping_error(dev->dma_dev, addr))) {
@@ -949,5 +960,7 @@ void mt76_dma_cleanup(struct mt76_dev *dev)
 
 	if (mtk_wed_device_active(&dev->mmio.wed))
 		mtk_wed_device_detach(&dev->mmio.wed);
+
+	mt76_free_pending_rxwi(dev);
 }
 EXPORT_SYMBOL_GPL(mt76_dma_cleanup);
-- 
2.18.0

