summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorKapil Gupta <kapgupta@codeaurora.org>2017-07-11 18:42:39 +0530
committersnandini <snandini@codeaurora.org>2017-07-13 03:51:25 -0700
commitffd8607b8c1871bae2d2ef9051560b7cfbf2a978 (patch)
tree1c23bf0a7eeded5c7dd7a2442057ed3a363d8446 /core
parent754bd9363e7d2eba8c6b898bcc1e55b060b7fae3 (diff)
qcacld-3.0: reset reference count of bss if memory alloc fail
In case of reassoc event handler, it may be possible that driver doesn't inform kernel about the new bss as well as doesn't reset the reference count of this bss due to memory allocation failure. Add changes to reset bss reference count if memory allocation failed. Change-Id: I6844d9387dd018e24a4d15bd567294e08ae43941 CRs-Fixed: 2075074
Diffstat (limited to 'core')
-rw-r--r--core/hdd/src/wlan_hdd_assoc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c
index af47d6eeae39..8704db78a1f3 100644
--- a/core/hdd/src/wlan_hdd_assoc.c
+++ b/core/hdd/src/wlan_hdd_assoc.c
@@ -1995,8 +1995,11 @@ static void hdd_send_re_assoc_event(struct net_device *dev,
QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_HDD, QDF_TRACE_LEVEL_DEBUG,
buf_ssid_ie, ssid_ie_len);
final_req_ie = qdf_mem_malloc(IW_GENERIC_IE_MAX);
- if (final_req_ie == NULL)
+ if (final_req_ie == NULL) {
+ if (bss)
+ cfg80211_put_bss(pAdapter->wdev.wiphy, bss);
goto done;
+ }
buf_ptr = final_req_ie;
qdf_mem_copy(buf_ptr, buf_ssid_ie, ssid_ie_len);
buf_ptr += ssid_ie_len;