Przeglądaj źródła

qcacld-3.0: Set flag mcs_0_to_9 for rx/tx

For WFA test case, it resets the EHT CAPs and clear rx/tx
mcs_0_to_9 flag, then it sets BW supports 160 MHz which means
it also supports 20 MHz, but it does not re-enable flag
mcs_0_to_9 for rx/tx for 2.4 GHz 11BE and causes connection
issue.

To resolve this issue, set flag mcs_0_to_9 for rx/tx if 2.4 GHz
40 MHz BW supports.

Change-Id: I330a49293107ceb300e04ca258216b75c1904317
CRs-Fixed: 3561031
Paul Zhang 1 rok temu
rodzic
commit
356959c1b2
1 zmienionych plików z 15 dodań i 0 usunięć
  1. 15 0
      core/sme/src/common/sme_api.c

+ 15 - 0
core/sme/src/common/sme_api.c

@@ -14717,6 +14717,20 @@ void sme_set_bss_max_idle_period(mac_handle_t mac_handle, uint16_t cfg_val)
 	mac_ctx->mlme_cfg->sta.bss_max_idle_period = cfg_val;
 }
 
+#ifdef WLAN_FEATURE_11BE
+static void sme_set_eht_mcs_info(struct mac_context *mac_ctx)
+{
+	mac_ctx->eht_cap_2g.bw_le_80_rx_max_nss_for_mcs_0_to_9 = 1;
+	mac_ctx->eht_cap_2g.bw_le_80_tx_max_nss_for_mcs_0_to_9 = 1;
+}
+#else
+#ifdef WLAN_FEATURE_11AX
+static void sme_set_eht_mcs_info(struct mac_context *mac_ctx)
+{
+}
+#endif
+#endif
+
 #ifdef WLAN_FEATURE_11AX
 void sme_set_he_bw_cap(mac_handle_t mac_handle, uint8_t vdev_id,
 		       enum eSirMacHTChannelWidth chwidth)
@@ -14779,6 +14793,7 @@ void sme_set_he_bw_cap(mac_handle_t mac_handle, uint8_t vdev_id,
 		mac_ctx->he_cap_5g.chan_width_1 = 1;
 		fallthrough;
 	case eHT_CHANNEL_WIDTH_40MHZ:
+		sme_set_eht_mcs_info(mac_ctx);
 		mac_ctx->mlme_cfg->he_caps.dot11_he_cap.chan_width_0 = 1;
 		mac_ctx->mlme_cfg->he_caps.dot11_he_cap.chan_width_1 = 1;
 		mac_ctx->he_cap_2g.chan_width_0 = 1;