qcacld-3.0: Move forward functions to update ch_width for 6 GHz
If SAP start on 6 GHz, client associate request will not have HT capability, so sta_ds->ch_width update too late in function lim_update_sta_ds, but it is used by lim_populate_matching_rate_set and lim_populate_eht_mcs_set, it lead to update 20 MHz eht mcs set and caused other bandwidth eht mcs set not update and keep 0 finally pass it to target. It will impact TX performance a lot. Move forward functions to update sta_ds->ch_width for 6 GHz. And update a typo of bw_160_rx_max_nss_for_mcs_10_and_11, it write as tx. Change-Id: I1c1cbe1daf8bfdf163d73c7aba5e7335e99e8157 CRs-Fixed: 3863495
This commit is contained in:
parent
d3674712ac
commit
4e586b68b7
@ -1779,6 +1779,14 @@ static bool lim_update_sta_ds(struct mac_context *mac_ctx, tSirMacAddr sa,
|
||||
|
||||
lim_mlo_save_mlo_info(sta_ds, &assoc_req->mlo_info);
|
||||
|
||||
/*
|
||||
* Move forward to update sta_ds->ch_width for 6 GHz before call
|
||||
* lim_populate_matching_rate_set and lim_populate_eht_mcs_set
|
||||
*/
|
||||
lim_update_stads_he_6ghz_op(session, sta_ds);
|
||||
lim_update_sta_ds_op_classes(assoc_req, sta_ds);
|
||||
lim_update_stads_eht_bw_320mhz(session, sta_ds);
|
||||
|
||||
if (lim_populate_matching_rate_set(mac_ctx, sta_ds,
|
||||
&(assoc_req->supportedRates),
|
||||
&(assoc_req->extendedRates),
|
||||
@ -1819,9 +1827,6 @@ static bool lim_update_sta_ds(struct mac_context *mac_ctx, tSirMacAddr sa,
|
||||
((sta_ds->supportedRates.vhtTxMCSMap & MCSMAPMASK2x2)
|
||||
== MCSMAPMASK2x2) ? 1 : 2;
|
||||
}
|
||||
lim_update_stads_he_6ghz_op(session, sta_ds);
|
||||
lim_update_sta_ds_op_classes(assoc_req, sta_ds);
|
||||
lim_update_stads_eht_bw_320mhz(session, sta_ds);
|
||||
|
||||
/* Add STA context at MAC HW (BMU, RHP & TFP) */
|
||||
sta_ds->qosMode = false;
|
||||
|
@ -8478,7 +8478,7 @@ static void lim_populate_eht_160_mcs_set(struct mac_context *mac_ctx,
|
||||
fw_5g_eht_cap->bw_160_tx_max_nss_for_mcs_10_and_11);
|
||||
rates->bw_160_rx_max_nss_for_mcs_10_and_11 =
|
||||
QDF_MIN(peer_eht_caps->bw_160_rx_max_nss_for_mcs_10_and_11,
|
||||
fw_5g_eht_cap->bw_160_tx_max_nss_for_mcs_10_and_11);
|
||||
fw_5g_eht_cap->bw_160_rx_max_nss_for_mcs_10_and_11);
|
||||
rates->bw_160_tx_max_nss_for_mcs_0_to_9 =
|
||||
QDF_MIN(peer_eht_caps->bw_160_tx_max_nss_for_mcs_0_to_9,
|
||||
fw_5g_eht_cap->bw_160_tx_max_nss_for_mcs_0_to_9);
|
||||
@ -8564,6 +8564,8 @@ QDF_STATUS lim_populate_eht_mcs_set(struct mac_context *mac_ctx,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
pe_debug("bw is %d", ch_width);
|
||||
|
||||
switch (ch_width) {
|
||||
case CH_WIDTH_320MHZ:
|
||||
lim_populate_eht_320_mcs_set(mac_ctx, rates, peer_eht_caps);
|
||||
|
Loading…
Reference in New Issue
Block a user