2021-04-13 09:37:28

by Lorenzo Bianconi

[permalink] [raw]
Subject: [PATCH] mt76: mt7921: add mt7921_dma_cleanup in mt7921_unregister_device

In order to avoid memory leaks, clean the dma engine unloading the
module

Signed-off-by: Lorenzo Bianconi <[email protected]>
---
drivers/net/wireless/mediatek/mt76/mt7921/init.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/init.c b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
index a20a3233fdc6..a1ed3e71b299 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
@@ -290,6 +290,7 @@ void mt7921_unregister_device(struct mt7921_dev *dev)
mt76_unregister_device(&dev->mt76);
mt7921_mcu_exit(dev);
mt7921_tx_token_put(dev);
+ mt7921_dma_cleanup(dev);

tasklet_disable(&dev->irq_tasklet);
mt76_free_device(&dev->mt76);
--
2.30.2


2021-04-13 09:53:17

by Felix Fietkau

[permalink] [raw]
Subject: Re: [PATCH] mt76: mt7921: add mt7921_dma_cleanup in mt7921_unregister_device


On 2021-04-13 10:40, Lorenzo Bianconi wrote:
> In order to avoid memory leaks, clean the dma engine unloading the
> module
>
> Signed-off-by: Lorenzo Bianconi <[email protected]>
Now it is accessing DMA registers after mt7921_mcu_exit has already
called mt7921_wfsys_reset.
Please move the mt7921_mcu_exit call further down.

- Felix