Эх сурвалжийг харах

qcacld-3.0: Reset ext_cap structure

Currently ext_cap structure is not reset to zero in
lim_send_probe_rsp_mgmt_frame. This can cause
dot11f_unpack_ie_ext_cap to return status other than
DOT11F_PARSE_SUCCESS and result in unnecessary error messages in
lim_update_extcap_struct.

Reset ext_cap structure in lim_send_probe_rsp_mgmt_frame to fix this.

Change-Id: I874d4d150a405d32737912f0b40661bafa5df268
CRs-Fixed: 2035704
Padma, Santhosh Kumar 8 жил өмнө
parent
commit
922344761b

+ 1 - 1
core/mac/src/pe/lim/lim_send_management_frames.c

@@ -561,7 +561,7 @@ lim_send_probe_rsp_mgmt_frame(tpAniSirGlobal mac_ctx,
 	uint8_t noa_ie[SIR_MAX_NOA_ATTR_LEN + SIR_P2P_IE_HEADER_LEN];
 	uint8_t sme_sessionid = 0;
 	bool is_vht_enabled = false;
-	tDot11fIEExtCap extracted_ext_cap;
+	tDot11fIEExtCap extracted_ext_cap = {0};
 	bool extracted_ext_cap_flag = false;
 
 	/* We don't answer requests in this case*/

+ 5 - 3
core/mac/src/pe/lim/lim_utils.c

@@ -6607,6 +6607,7 @@ void lim_update_extcap_struct(tpAniSirGlobal mac_ctx,
 	uint8_t *buf, tDot11fIEExtCap *dst)
 {
 	uint8_t out[DOT11F_IE_EXTCAP_MAX_LEN];
+	uint32_t status;
 
 	if (NULL == buf) {
 		pe_err("Invalid Buffer Address");
@@ -6627,9 +6628,10 @@ void lim_update_extcap_struct(tpAniSirGlobal mac_ctx,
 	qdf_mem_set((uint8_t *)&out[0], DOT11F_IE_EXTCAP_MAX_LEN, 0);
 	qdf_mem_copy(&out[0], &buf[2], buf[1]);
 
-	if (DOT11F_PARSE_SUCCESS != dot11f_unpack_ie_ext_cap(mac_ctx, &out[0],
-							buf[1], dst, false))
-		pe_err("dot11f_unpack Parse Error");
+	status = dot11f_unpack_ie_ext_cap(mac_ctx, &out[0],
+					buf[1], dst, false);
+	if (DOT11F_PARSE_SUCCESS != status)
+		pe_err("dot11f_unpack Parse Error %d", status);
 }
 
 /**