summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorWen Gong <wgong@codeaurora.org>2019-06-27 14:21:51 -0400
committerKalle Valo <kvalo@codeaurora.org>2019-06-28 15:12:59 -0400
commit3ed39f8e747a7aafeec07bb244f2c3a1bdca5730 (patch)
tree09e1914e9ea8c0f7ce741ea1eedc80ce8b448ab2 /drivers/net/wireless
parentbd1a4ac556dfbcd57c6091cc06aaf68684393bae (diff)
ath10k: destroy sdio workqueue while remove sdio module
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>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/ath10k/sdio.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/sdio.c b/drivers/net/wireless/ath/ath10k/sdio.c
index 08bbbc9933be..8ed4fbd8d6c3 100644
--- a/drivers/net/wireless/ath/ath10k/sdio.c
+++ b/drivers/net/wireless/ath/ath10k/sdio.c
@@ -2097,6 +2097,9 @@ static void ath10k_sdio_remove(struct sdio_func *func)
2097 2097
2098 ath10k_core_unregister(ar); 2098 ath10k_core_unregister(ar);
2099 ath10k_core_destroy(ar); 2099 ath10k_core_destroy(ar);
2100
2101 flush_workqueue(ar_sdio->workqueue);
2102 destroy_workqueue(ar_sdio->workqueue);
2100} 2103}
2101 2104
2102static const struct sdio_device_id ath10k_sdio_devices[] = { 2105static const struct sdio_device_id ath10k_sdio_devices[] = {