瀏覽代碼

qcacld-3.0: Fix for CCKM fast roaming failure.

This is qcacld-2.0 to qcacld-3.0 propagation

Due to cleanup in function limSendReassocReqWithFTIEsMgmtFrame()
assocReqLen was not being set to zero when the corresponding buffer
was NULL. This caused memory copy in buffers being passed between
PE and SME and HDD to be improper. HDD when reading the buffer
wrongly read it from wrong offset and hence RSN IEs being passed to
supplicant are all zeros. This patch fixes this by setting
assocReqLen = 0 when AssocReq buff is NULL

Change-Id: I0edaff93fcdbb2d5ae80478a76f07cb4dee8aceb
CRs-Fixed: 929797
Naveen Rawat 9 年之前
父節點
當前提交
83102eff80
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      core/mac/src/pe/lim/lim_send_management_frames.c

+ 4 - 0
core/mac/src/pe/lim/lim_send_management_frames.c

@@ -1903,6 +1903,7 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
 	if (pe_session->assocReq != NULL) {
 		cdf_mem_free(pe_session->assocReq);
 		pe_session->assocReq = NULL;
+		pe_session->assocReqLen = 0;
 	}
 
 	if (add_ie_len) {
@@ -2312,6 +2313,7 @@ lim_send_reassoc_req_with_ft_ies_mgmt_frame(tpAniSirGlobal mac_ctx,
 	if (pe_session->assocReq != NULL) {
 		cdf_mem_free(pe_session->assocReq);
 		pe_session->assocReq = NULL;
+		pe_session->assocReqLen = 0;
 	}
 
 	if (add_ie_len) {
@@ -2376,6 +2378,7 @@ lim_send_reassoc_req_with_ft_ies_mgmt_frame(tpAniSirGlobal mac_ctx,
 		}
 	} else {
 		lim_log(mac_ctx, LOG1, FL("FT IEs not present"));
+		pe_session->assocReqLen = 0;
 	}
 
 #ifdef FEATURE_WLAN_DIAG_SUPPORT
@@ -2686,6 +2689,7 @@ lim_send_reassoc_req_mgmt_frame(tpAniSirGlobal pMac,
 	if (psessionEntry->assocReq != NULL) {
 		cdf_mem_free(psessionEntry->assocReq);
 		psessionEntry->assocReq = NULL;
+		psessionEntry->assocReqLen = 0;
 	}
 
 	if (nAddIELen) {