浏览代码

qcacld-3.0: Add check to update SR IE in template

In case of same MAC concurrency, if SR is disabled / enable
due to concurrency, add check to add / remove SR IE from
Beacon, Probe response, Association response frames including
HESIGA_VAL15 bit setting correctly.

Change-Id: Ibde929af1964d8efc978f5cf3e13feda066569f5
CRs-Fixed: 3315671
Prasanna JS 2 年之前
父节点
当前提交
bf8543915e
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      core/mac/src/sys/legacy/src/utils/src/parser_api.c

+ 5 - 2
core/mac/src/sys/legacy/src/utils/src/parser_api.c

@@ -7154,8 +7154,10 @@ populate_dot11f_sr_info(struct mac_context *mac_ctx,
 	uint8_t non_srg_pd_offset;
 	uint8_t sr_ctrl = wlan_vdev_mlme_get_sr_ctrl(session->vdev);
 	bool sr_enabled = wlan_vdev_mlme_get_he_spr_enabled(session->vdev);
+	bool sr_disabled_due_conc =
+		wlan_vdev_mlme_is_sr_disable_due_conc(session->vdev);
 
-	if (!sr_enabled || !sr_ctrl ||
+	if (!sr_enabled || !sr_ctrl || sr_disabled_due_conc ||
 	    (sr_ctrl & WLAN_HE_NON_SRG_PD_SR_DISALLOWED) ||
 	    !(sr_ctrl & WLAN_HE_NON_SRG_OFFSET_PRESENT))
 		return QDF_STATUS_SUCCESS;
@@ -7167,7 +7169,8 @@ populate_dot11f_sr_info(struct mac_context *mac_ctx,
 	sr_info->srg_info_present = 0;
 	sr_info->non_srg_offset_present = 1;
 	sr_info->srg_info_present = 0;
-	sr_info->sr_value15_allow = (sr_ctrl & WLAN_HE_SIGA_SR_VAL15_ALLOWED);
+	if (sr_ctrl & WLAN_HE_SIGA_SR_VAL15_ALLOWED)
+		sr_info->sr_value15_allow = 1;
 	sr_info->non_srg_offset.info.non_srg_pd_max_offset = non_srg_pd_offset;
 
 	return QDF_STATUS_SUCCESS;