Selaa lähdekoodia

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 vuotta sitten
vanhempi
sitoutus
86420d911f
1 muutettua tiedostoa jossa 11 lisäystä ja 0 poistoa
  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,