| From 4ee9a47d8a04151e2108b3e770113111ed6353a5 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 13 Feb 2021 18:44:10 +0100 |
| Subject: mt76: mt7915: fix tx skb dma unmap |
| |
| From: Felix Fietkau <nbd@nbd.name> |
| |
| [ Upstream commit 7dcf3c04f0aca746517a77433b33d40868ca4749 ] |
| |
| The first pointer in the txp needs to be unmapped as well, otherwise it will |
| leak DMA mapping entries |
| |
| Reported-by: Ben Greear <greearb@candelatech.com> |
| Fixes: 27d5c528a7ca ("mt76: fix double DMA unmap of the first buffer on 7615/7915") |
| Signed-off-by: Felix Fietkau <nbd@nbd.name> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/wireless/mediatek/mt76/mt7915/mac.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mac.c b/drivers/net/wireless/mediatek/mt76/mt7915/mac.c |
| index c9dd6867e125..8a083304ab03 100644 |
| --- a/drivers/net/wireless/mediatek/mt76/mt7915/mac.c |
| +++ b/drivers/net/wireless/mediatek/mt76/mt7915/mac.c |
| @@ -1082,7 +1082,7 @@ void mt7915_txp_skb_unmap(struct mt76_dev *dev, |
| int i; |
| |
| txp = mt7915_txwi_to_txp(dev, t); |
| - for (i = 1; i < txp->nbuf; i++) |
| + for (i = 0; i < txp->nbuf; i++) |
| dma_unmap_single(dev->dev, le32_to_cpu(txp->buf[i]), |
| le16_to_cpu(txp->len[i]), DMA_TO_DEVICE); |
| } |
| -- |
| 2.30.2 |
| |