소스 검색

qcacld-3.0: Correct ML IE length for ML prb req

Currently, the ML IE length in ML probe request is including 2 bytes
of element header. It causes the peer could not parse the ML IE
properly and response the proble response unexpectly.

To resolve this issue, correct the ML IE length for ML probe request.

Change-Id: I7cefb6d04a28c51ad7aa6fb894c77b005adbd775
CRs-Fixed: 3238761
Paul Zhang 3 년 전
부모
커밋
6f1e1b390a
1개의 변경된 파일2개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 3
      core/mac/src/pe/lim/lim_send_management_frames.c

+ 2 - 3
core/mac/src/pe/lim/lim_send_management_frames.c

@@ -173,7 +173,6 @@ lim_populate_ml_probe_req(struct mac_context *mac,
 	*ml_prb_req_ie = (uint8_t *)ml_prb_req;
 	/* Fill the Element ID IE Type (0xFF) */
 	ml_prb_req->ml_ie_ff.elem_id = WLAN_ELEMID_EXTN_ELEM;
-	ml_probe_len += sizeof(struct ie_header);
 	/* Fill the Multi link extn Element ID IE Type (0x6B) */
 	ml_prb_req->ml_ie_ff.elem_id_ext = WLAN_EXTN_ELEMID_MULTI_LINK;
 	ml_probe_len++;
@@ -221,11 +220,11 @@ lim_populate_ml_probe_req(struct mac_context *mac,
 		ml_probe_len += WLAN_ML_BV_LINFO_PERSTAPROF_STACTRL_SIZE;
 	}
 	ml_prb_req->ml_ie_ff.elem_len = ml_probe_len;
-	*ml_probe_req_len = ml_probe_len;
+	*ml_probe_req_len = ml_probe_len + MIN_IE_LEN;
 
 	pe_nofl_debug("Send ML probe req %zu", ml_probe_len);
 	QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG,
-			   ml_probe, ml_probe_len);
+			   ml_probe, ml_probe_len + MIN_IE_LEN);
 
 	session->lim_join_req->is_ml_probe_req_sent = true;