mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-04 18:19:28 +09:00
mt76: set dma-done flag for flushed descriptors
Avoids a theoretical corner case where the hardware could try to process a stale descriptor after a watchdog reset Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
@@ -246,7 +246,9 @@ mt76_dma_dequeue(struct mt76_dev *dev, struct mt76_queue *q, bool flush,
|
||||
if (!q->queued)
|
||||
return NULL;
|
||||
|
||||
if (!flush && !(q->desc[idx].ctrl & cpu_to_le32(MT_DMA_CTL_DMA_DONE)))
|
||||
if (flush)
|
||||
q->desc[idx].ctrl |= cpu_to_le32(MT_DMA_CTL_DMA_DONE);
|
||||
else if (!(q->desc[idx].ctrl & cpu_to_le32(MT_DMA_CTL_DMA_DONE)))
|
||||
return NULL;
|
||||
|
||||
q->tail = (q->tail + 1) % q->ndesc;
|
||||
|
||||
Reference in New Issue
Block a user