瀏覽代碼

qcacld-3.0: Do not advertise EMLSR support to draft 2.0 AP

Add a check to distinguish 11BE draft 2.0 AP vs 3.0 AP
based on MSD params received in beacon/probe response rather
than assoc frame and if the params are present (draft 2.0),
then do not advertise EMLSR support in association request
as EMLSR mode will not be supported.

Change-Id: I5f3e9ce76dc634f4fea1422f0d8b9da3edbb0587
CRs-Fixed: 3560902
Gururaj Pandurangi 1 年之前
父節點
當前提交
42c5033011
共有 2 個文件被更改,包括 13 次插入0 次删除
  1. 8 0
      core/mac/src/pe/lim/lim_api.c
  2. 5 0
      core/mac/src/pe/lim/lim_process_beacon_frame.c

+ 8 - 0
core/mac/src/pe/lim/lim_api.c

@@ -4439,6 +4439,7 @@ lim_process_cu_for_probe_rsp(struct mac_context *mac_ctx,
 	uint8_t bpcc, aui;
 	bool cu_flag = false;
 	const uint8_t *rnr;
+	bool msd_cap_found = false;
 	QDF_STATUS status = QDF_STATUS_E_INVAL;
 
 	vdev = session->vdev;
@@ -4459,6 +4460,13 @@ lim_process_cu_for_probe_rsp(struct mac_context *mac_ctx,
 		return status;
 	}
 
+	util_get_bvmlie_msd_cap(ml_ie, ml_ie_total_len, &msd_cap_found,
+				NULL);
+	if (msd_cap_found) {
+		wlan_vdev_mlme_cap_clear(vdev, WLAN_VDEV_C_EMLSR_CAP);
+		pe_debug("EMLSR not supported with D2.0 AP");
+	}
+
 	status = util_get_bvmlie_persta_partner_info(ml_ie,
 						     ml_ie_total_len,
 						     &partner_info);

+ 5 - 0
core/mac/src/pe/lim/lim_process_beacon_frame.c

@@ -120,6 +120,11 @@ void lim_process_beacon_mlo(struct mac_context *mac_ctx,
 		return;
 	}
 
+	if (bcn_ptr->mlo_ie.mlo_ie.medium_sync_delay_info_present) {
+		wlan_vdev_mlme_cap_clear(vdev, WLAN_VDEV_C_EMLSR_CAP);
+		pe_debug("EMLSR not supported with D2.0 AP");
+	}
+
 	for (i = 0; i < bcn_ptr->mlo_ie.mlo_ie.num_sta_profile; i++) {
 		csa_ie = NULL;
 		xcsa_ie = NULL;