소스 검색

qcacld-3.0: Strip RSNXE from Reassociate request if bss beacon don't have

If interop with AP H2E flag not match with STA, like AP don't have
RSNXE but STA has, don't add RSNXE in reassociate request when roaming.

Change-Id: I592baf5d0c5af25ccb817d38873147e4fe719e60
CRs-Fixed: 3104528
Will Huang 3 년 전
부모
커밋
86420d911f
1개의 변경된 파일11개의 추가작업 그리고 0개의 파일을 삭제
  1. 11 0
      core/mac/src/pe/lim/lim_process_sme_req_messages.c

+ 11 - 0
core/mac/src/pe/lim/lim_process_sme_req_messages.c

@@ -4436,6 +4436,17 @@ static void lim_handle_reassoc_req(struct cm_vdev_join_req *req)
 	else if (lim_is_wapi_profile(session_entry))
 		lim_fill_wapi_ie(mac_ctx, session_entry, req);
 
+	if (lim_is_rsn_profile(session_entry) &&
+	    !util_scan_entry_rsnxe(req->entry)) {
+		pe_debug("Bss bcn has no RSNXE, strip if has");
+		status = lim_strip_ie(mac_ctx, req->assoc_ie.ptr,
+				      (uint16_t *)&req->assoc_ie.len,
+				      WLAN_ELEMID_RSNXE, ONE_BYTE,
+				      NULL, 0, NULL, 0);
+		if (QDF_IS_STATUS_ERROR(status))
+			pe_err("Strip RNSXE failed");
+	}
+
 	pe_debug("After stripping Assoc IE len: %d", req->assoc_ie.len);
 	if (req->assoc_ie.len)
 		QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG,