فهرست منبع

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))
 	else if (lim_is_wapi_profile(session_entry))
 		lim_fill_wapi_ie(mac_ctx, session_entry, req);
 		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);
 	pe_debug("After stripping Assoc IE len: %d", req->assoc_ie.len);
 	if (req->assoc_ie.len)
 	if (req->assoc_ie.len)
 		QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG,
 		QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG,