The rx_replenish_retry timer is initialized in ath12k_core_alloc() when
ath12k module is loaded.
But rx_replenish_retry timer is not deleted anywhere in the code.
It is supposed to be deleted when ath12k module is removed/unloaded.
Delete the timer rx_replenish_retry in ath12k_core_free().
Found during code review.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0-02903-QCAHKSWPL_SILICONZ-1
Signed-off-by: Hari Chandrakanthan <[email protected]>
---
drivers/net/wireless/ath/ath12k/core.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/ath/ath12k/core.c b/drivers/net/wireless/ath/ath12k/core.c
index a89e666..d992380 100644
--- a/drivers/net/wireless/ath/ath12k/core.c
+++ b/drivers/net/wireless/ath/ath12k/core.c
@@ -885,6 +885,7 @@ void ath12k_core_deinit(struct ath12k_base *ab)
void ath12k_core_free(struct ath12k_base *ab)
{
+ timer_delete_sync(&ab->rx_replenish_retry);
destroy_workqueue(ab->workqueue_aux);
destroy_workqueue(ab->workqueue);
kfree(ab);
--
2.7.4
Hari Chandrakanthan <[email protected]> wrote:
> The rx_replenish_retry timer is initialized in ath12k_core_alloc() when ath12k
> module is loaded. But rx_replenish_retry timer is not deleted anywhere in the
> code. It is supposed to be deleted when ath12k module is removed/unloaded.
>
> Delete the timer rx_replenish_retry in ath12k_core_free().
>
> Found during code review.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0-02903-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Hari Chandrakanthan <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>
Patch applied to ath-next branch of ath.git, thanks.
e2d1f005d3fb wifi: ath12k: delete the timer rx_replenish_retry during rmmod
--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches