Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2019-07-28 09:55:47 +0200
committerTakashi Iwai <tiwai@suse.de>2019-07-28 09:57:06 +0200
commit328e900ccc15dfa4a78f967fb9caa6896df47b1d (patch)
tree7eb0f837d62112abb7dc7d3745115a8a304da097
parentd38f426f905b260b051a34f0fcc583791edce19a (diff)
ath10k: destroy sdio workqueue while remove sdio module
(bsc#1111666).
-rw-r--r--patches.drivers/ath10k-destroy-sdio-workqueue-while-remove-sdio-modu.patch35
-rw-r--r--series.conf1
2 files changed, 36 insertions, 0 deletions
diff --git a/patches.drivers/ath10k-destroy-sdio-workqueue-while-remove-sdio-modu.patch b/patches.drivers/ath10k-destroy-sdio-workqueue-while-remove-sdio-modu.patch
new file mode 100644
index 0000000000..57877eb68f
--- /dev/null
+++ b/patches.drivers/ath10k-destroy-sdio-workqueue-while-remove-sdio-modu.patch
@@ -0,0 +1,35 @@
+From 3ed39f8e747a7aafeec07bb244f2c3a1bdca5730 Mon Sep 17 00:00:00 2001
+From: Wen Gong <wgong@codeaurora.org>
+Date: Thu, 27 Jun 2019 21:21:51 +0300
+Subject: [PATCH] ath10k: destroy sdio workqueue while remove sdio module
+Git-commit: 3ed39f8e747a7aafeec07bb244f2c3a1bdca5730
+Patch-mainline: v5.3-rc1
+References: bsc#1111666
+
+The workqueue need to flush and destory while remove sdio module,
+otherwise it will have thread which is not destory after remove
+sdio modules.
+
+Tested with QCA6174 SDIO with firmware
+WLAN.RMH.4.4.1-00007-QCARMSWP-1.
+
+Signed-off-by: Wen Gong <wgong@codeaurora.org>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/net/wireless/ath/ath10k/sdio.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/net/wireless/ath/ath10k/sdio.c
++++ b/drivers/net/wireless/ath/ath10k/sdio.c
+@@ -2073,6 +2073,9 @@ static void ath10k_sdio_remove(struct sd
+ cancel_work_sync(&ar_sdio->wr_async_work);
+ ath10k_core_unregister(ar);
+ ath10k_core_destroy(ar);
++
++ flush_workqueue(ar_sdio->workqueue);
++ destroy_workqueue(ar_sdio->workqueue);
+ }
+
+ static const struct sdio_device_id ath10k_sdio_devices[] = {
diff --git a/series.conf b/series.conf
index 3c8261f64c..095c94d6f1 100644
--- a/series.conf
+++ b/series.conf
@@ -47965,6 +47965,7 @@
patches.drivers/ath10k-fix-PCIE-device-wake-up-failed.patch
patches.drivers/ath9k-correctly-handle-short-radar-pulses.patch
patches.drivers/carl9170-fix-misuse-of-device-driver-API.patch
+ patches.drivers/ath10k-destroy-sdio-workqueue-while-remove-sdio-modu.patch
patches.drivers/tools-bpftool-Fix-json-dump-crash-on-powerpc.patch
patches.drivers/xdp-fix-race-on-generic-receive-path.patch
patches.fixes/mwifiex-Don-t-abort-on-small-spec-compliant-vendor-I.patch