mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-24 04:42:20 +00:00
45 lines
1.4 KiB
Diff
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);
|
|
}
|
|
|