diff options
author | Min Liu <minliu@codeaurora.org> | 2018-06-25 18:08:54 +0800 |
---|---|---|
committer | Srinivas Girigowda <quic_sgirigow@quicinc.com> | 2019-04-02 12:00:41 -0700 |
commit | 5936573ee430fbd10c9181be8a71b9602418f71c (patch) | |
tree | c06275e5f77fc26a4088c8cc6cf8da3020cc7ee5 | |
parent | e307c843fc81e9c23c2e67544a3c7784cd048c35 (diff) | |
download | qcacld-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.c | 5 |
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); |