drivers/net/ethernet/mediatek/mtk_wed.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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: <stable@vger.kernel.org>
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
---
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);
free_pagelist:
--
2.43.0
> 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: <stable@vger.kernel.org>
> Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
> ---
> 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
>
© 2016 - 2026 Red Hat, Inc.