wifi: mt76: add memory barrier to SDIO queue kick

Ensure the entry has been fully updated before SDIO bus worker access
it. This patch would fix potential memory risk in both mt7663s and
mt7921s.

Fixes: 764dee47e2c1 ("mt76: sdio: move common code in mt76_sdio module")
Signed-off-by: Deren Wu <[email protected]>
Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Deren Wu
2023-01-23 10:50:59 +01:00
committed by Felix Fietkau
parent 133d785997
commit 5fe319a055
+4
View File
@@ -562,6 +562,10 @@ mt76s_tx_queue_skb_raw(struct mt76_dev *dev, struct mt76_queue *q,
q->entry[q->head].buf_sz = len;
q->entry[q->head].skb = skb;
/* ensure the entry fully updated before bus access */
smp_wmb();
q->head = (q->head + 1) % q->ndesc;
q->queued++;