diff options
| author | Nakul Kachhwaha <nkachh@codeaurora.org> | 2017-09-22 12:28:57 +0530 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-10-06 04:26:25 -0700 |
| commit | 479ae5259bdc01e8c1809755ce2bf9cd9f8df931 (patch) | |
| tree | ad9eecfb3121f95d1dfbdbb2ec058346d5aa6b6f | |
| parent | 59aae97a43e381237c78ffa6c42d6d7469981747 (diff) | |
qcacld-2.0: Fixing assertion in kernel during module unload
scan_done notification is not sent to the cfg80211 layer from SME Scan
callback while module unloading is in progress (CR 1059683). This causing
assertion in kernel. To avoid assertion set scan_req->notified to true.
Change-Id: Id41a3d50871b2f4585297e57b9bbe7f5ea4640d6
CRs-Fixed: 2112296
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 2ed1feb78c63..58743c86bbb3 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -20830,6 +20830,15 @@ static inline bool wlan_hdd_cfg80211_validate_scan_req(struct return false; } if (vos_is_load_unload_in_progress(VOS_MODULE_ID_HDD, NULL)) { + /* As per CR1059683, not invoking cfg80211_scan_done when module + load/unload is in progress, but this is causing assertion in + cfg80211 in kernel. Hence setting scan_req->notified to avoid + assertion. Kernel will take care of memory cleanup. + */ + scan_req->notified = true; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)) + scan_req->info.aborted = true; +#endif hddLog(VOS_TRACE_LEVEL_ERROR, "Load/Unload in progress"); return false; } |
