浏览代码

qcacld-3.0: Fix no HT40 in assoc req's Per-STA profile

When build assoc req, partner link has no pe session yet, so it just get
original ht cap from mac->mlme_cfg->ht_caps.ht_cap_info, which is got from
CFG_HT_CAP_INFO with default 364, BIT1 supportedChannelWidthSet is 0.

Assoc link has no such issue, since pe session is created when build
assoc req,  pDot11f->supportedChannelWidthSet is reconfiged in
populate_dot11f_ht_caps.

Change-Id: Iec7b34d8364618948e9ac2a50462bcb4ede13433
CRs-Fixed: 3267261
Jianmin Zhu 2 年之前
父节点
当前提交
c48cfe0102
共有 1 个文件被更改,包括 15 次插入1 次删除
  1. 15 1
      core/mac/src/sys/legacy/src/utils/src/parser_api.c

+ 15 - 1
core/mac/src/sys/legacy/src/utils/src/parser_api.c

@@ -11286,8 +11286,22 @@ QDF_STATUS populate_dot11f_assoc_req_mlo_ie(struct mac_context *mac_ctx,
 						DOT11F_EID_SUPPRATES;
 		}
 
-		if (!WLAN_REG_IS_6GHZ_CHAN_FREQ(chan_freq))
+		if (!WLAN_REG_IS_6GHZ_CHAN_FREQ(chan_freq)) {
 			populate_dot11f_ht_caps(mac_ctx, NULL, &ht_caps);
+			ht_caps.supportedChannelWidthSet = 0;
+			ht_caps.shortGI40MHz = 0;
+		}
+		if (WLAN_REG_IS_5GHZ_CH_FREQ(chan_freq) &&
+		    mac_ctx->roam.configParam.channelBondingMode5GHz) {
+			ht_caps.supportedChannelWidthSet = 1;
+			ht_caps.shortGI40MHz = 1;
+		}
+		if (WLAN_REG_IS_24GHZ_CH_FREQ(chan_freq) &&
+		    mac_ctx->roam.configParam.channelBondingMode24GHz) {
+			ht_caps.supportedChannelWidthSet = 1;
+			ht_caps.shortGI40MHz = 1;
+		}
+
 		if ((ht_caps.present && frm->HTCaps.present &&
 		     qdf_mem_cmp(&ht_caps, &frm->HTCaps, sizeof(ht_caps))) ||
 		     (ht_caps.present && !frm->HTCaps.present)) {