quoted hunk ↗ jump to hunk
The DMA buffer alloc'd in mtk_wed_hwrro_buffer_alloc() with size
dev->wlan.rx_nbuf but is freed with size dev->hw_rro.size.
Change the dealloc size to match the one used in
mtk_wed_hwrro_buffer_alloc().
Fixes: 6757d345dd7d ("net: ethernet: mtk_wed: introduce hw_rro support for MT7988")
Cc: <redacted>
Signed-off-by: Thomas Fourier <redacted>
---
drivers/net/ethernet/mediatek/mtk_wed.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mediatek/mtk_wed.c b/drivers/net/ethernet/mediatek/mtk_wed.c
index 1ed1f88dd7f8..455df564174d 100644
--- a/drivers/net/ethernet/mediatek/mtk_wed.c
+++ b/drivers/net/ethernet/mediatek/mtk_wed.c
@@ -879,7 +879,7 @@ mtk_wed_hwrro_free_buffer(struct mtk_wed_device *dev)
__free_page(page);
}
- dma_free_coherent(dev->hw->dev, dev->hw_rro.size * sizeof(*desc),
+ dma_free_coherent(dev->hw->dev, dev->wlan.rx_nbuf * sizeof(*desc),
desc, dev->hw_rro.desc_phys);
I think this problem is present even in the mtk git repo. I guess we should
allocate DMA buffer using dev->hw_rro.size instead of using dev->wlan.rx_nbuf
directly.
@Sujuan: any input on it?
Regards,
Lorenzo
free_pagelist:
--
2.43.0