wlan-ap-Telecominfraproject/feeds/ipq95xx/mac80211/patches/qca/656-ath12k-fix-workqueue-not-getting-destroyed-after-rmm.patch
John Crispin b9b03a6e38 ipq95xx: add Qualcomm wifi-7 support
Signed-off-by: John Crispin <john@phrozen.org>
2023-04-10 14:25:48 +02:00

45 lines
1.4 KiB
Diff

From df6facd5b551c5975c11c2233fbd4c42736c0ec3 Mon Sep 17 00:00:00 2001
From: Aditya Kumar Singh <adisi@codeaurora.org>
Date: Mon, 13 Sep 2021 09:32:32 +0530
Subject: [PATCH] ath12k: fix workqueue not getting destroyed after rmmod
This change is to destroy the workqueues after the modules
are removed from kernel. Earlier, the workqueues were
not destroyed and left as it is.
If workqueues are not destroyed, it could lead to kernel
memory scarcity in a longer run. This could affect self and
other drivers workability as well.
Signed-off-by: Aditya Kumar Singh <adisi@codeaurora.org>
Signed-off-by: Harshitha Prem <quic_hprem@quicinc.com>
---
drivers/net/wireless/ath/ath12k/core.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/drivers/net/wireless/ath/ath12k/core.c
+++ b/drivers/net/wireless/ath/ath12k/core.c
@@ -1452,6 +1452,12 @@ void ath12k_core_deinit(struct ath12k_ba
void ath12k_core_free(struct ath12k_base *ab)
{
+ flush_workqueue(ab->workqueue_aux);
+ destroy_workqueue(ab->workqueue_aux);
+
+ flush_workqueue(ab->workqueue);
+ destroy_workqueue(ab->workqueue);
+
kfree(ab);
}
--- a/drivers/net/wireless/ath/ath12k/pci.c
+++ b/drivers/net/wireless/ath/ath12k/pci.c
@@ -1447,7 +1447,6 @@ qmi_fail:
ath12k_hal_srng_deinit(ab);
ath12k_ce_free_pipes(ab);
- destroy_workqueue(ab->workqueue_aux);
ath12k_core_free(ab);
}