summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMin Liu <minliu@codeaurora.org>2018-06-25 18:08:54 +0800
committerSrinivas Girigowda <quic_sgirigow@quicinc.com>2019-04-02 12:00:41 -0700
commit5936573ee430fbd10c9181be8a71b9602418f71c (patch)
treec06275e5f77fc26a4088c8cc6cf8da3020cc7ee5
parente307c843fc81e9c23c2e67544a3c7784cd048c35 (diff)
downloadqcacld-5936573ee430fbd10c9181be8a71b9602418f71c.tar.gz
qcacld-3.0: Fix assert when netdev is going down
Move destruction of blocked_scan_request_q and related lock from __hdd_netdev_notifier_call to hdd_close_adapter for the former one might be invoked for more than once and could cause issues. CRs-Fixed: 2267481 Change-Id: Ifb62750a09a2dcca381217a41280ad943942ee35 Bug: 129651626 Signed-off-by: Srinivas Girigowda <quic_sgirigow@quicinc.com>
-rw-r--r--core/hdd/src/wlan_hdd_main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 5cb41e52f4..b9f2b07a00 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -521,8 +521,6 @@ static int __hdd_netdev_notifier_call(struct notifier_block *nb,
cds_flush_work(&adapter->scan_block_work);
/* Need to clean up blocked scan request */
wlan_hdd_cfg80211_scan_block_cb(&adapter->scan_block_work);
- qdf_list_destroy(&adapter->blocked_scan_request_q);
- qdf_mutex_destroy(&adapter->blocked_scan_request_q_lock);
hdd_debug("Scan is not Pending from user");
/*
* After NETDEV_GOING_DOWN, kernel calls hdd_stop.Irrespective
@@ -4390,6 +4388,9 @@ QDF_STATUS hdd_close_adapter(hdd_context_t *hdd_ctx, hdd_adapter_t *adapter,
hdd_bus_bw_compute_timer_stop(hdd_ctx);
cancel_work_sync(&hdd_ctx->bus_bw_work);
+ qdf_list_destroy(&adapter->blocked_scan_request_q);
+ qdf_mutex_destroy(&adapter->blocked_scan_request_q_lock);
+
/* cleanup adapter */
cds_clear_concurrency_mode(adapter->device_mode);
hdd_cleanup_adapter(hdd_ctx, adapterNode->pAdapter, rtnl_held);