Commit 598da386 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau

mt76: dma: add skb check for dummy pointer

Introduce skb check for dummy address in mt76_dma_tx_cleanup_idx.
This is a preliminary patch to add support for new chipsets (e.g. 7615)
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 6ca66722
...@@ -18,8 +18,6 @@ ...@@ -18,8 +18,6 @@
#include "mt76.h" #include "mt76.h"
#include "dma.h" #include "dma.h"
#define DMA_DUMMY_TXWI ((void *) ~0)
static int static int
mt76_dma_alloc_queue(struct mt76_dev *dev, struct mt76_queue *q, mt76_dma_alloc_queue(struct mt76_dev *dev, struct mt76_queue *q,
int idx, int n_desc, int bufsize, int idx, int n_desc, int bufsize,
...@@ -67,7 +65,7 @@ mt76_dma_add_buf(struct mt76_dev *dev, struct mt76_queue *q, ...@@ -67,7 +65,7 @@ mt76_dma_add_buf(struct mt76_dev *dev, struct mt76_queue *q,
int i, idx = -1; int i, idx = -1;
if (txwi) if (txwi)
q->entry[q->head].txwi = DMA_DUMMY_TXWI; q->entry[q->head].txwi = DMA_DUMMY_DATA;
for (i = 0; i < nbufs; i += 2, buf += 2) { for (i = 0; i < nbufs; i += 2, buf += 2) {
u32 buf0 = buf[0].addr, buf1 = 0; u32 buf0 = buf[0].addr, buf1 = 0;
...@@ -126,9 +124,12 @@ mt76_dma_tx_cleanup_idx(struct mt76_dev *dev, struct mt76_queue *q, int idx, ...@@ -126,9 +124,12 @@ mt76_dma_tx_cleanup_idx(struct mt76_dev *dev, struct mt76_queue *q, int idx,
DMA_TO_DEVICE); DMA_TO_DEVICE);
} }
if (e->txwi == DMA_DUMMY_TXWI) if (e->txwi == DMA_DUMMY_DATA)
e->txwi = NULL; e->txwi = NULL;
if (e->skb == DMA_DUMMY_DATA)
e->skb = NULL;
*prev_e = *e; *prev_e = *e;
memset(e, 0, sizeof(*e)); memset(e, 0, sizeof(*e));
} }
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
#ifndef __MT76_DMA_H #ifndef __MT76_DMA_H
#define __MT76_DMA_H #define __MT76_DMA_H
#define DMA_DUMMY_DATA ((void *)~0)
#define MT_RING_SIZE 0x10 #define MT_RING_SIZE 0x10
#define MT_DMA_CTL_SD_LEN1 GENMASK(13, 0) #define MT_DMA_CTL_SD_LEN1 GENMASK(13, 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment