diff --git a/core/mac/src/pe/lim/lim_process_tdls.c b/core/mac/src/pe/lim/lim_process_tdls.c index 1ceabc755778..90aed564d187 100644 --- a/core/mac/src/pe/lim/lim_process_tdls.c +++ b/core/mac/src/pe/lim/lim_process_tdls.c @@ -1004,11 +1004,17 @@ lim_tdls_populate_dot11f_he_caps(struct mac_context *mac, *((uint16_t *)pDot11f->tx_he_mcs_map_80_80) = uHECapInfo.he_cap.tx_he_mcs_map_80_80; } - lim_log_he_cap(mac, pDot11f); return QDF_STATUS_SUCCESS; } +static void lim_tdls_check_and_force_he_ldpc_cap(struct pe_session *pe_session, + tDphHashNode *sta) +{ + if (pe_session && sta->he_config.present) + lim_check_and_force_he_ldpc_cap(pe_session, &sta->he_config); +} + static void lim_tdls_update_node_he_caps(struct mac_context *mac, struct tdls_add_sta_req *add_sta_req, tDphHashNode *sta, @@ -1028,6 +1034,8 @@ static void lim_tdls_update_node_he_caps(struct mac_context *mac, if (pe_session && sta->he_config.present) lim_tdls_set_he_chan_width(&sta->he_config, pe_session); + + lim_log_he_cap(mac, &sta->he_config); } #else @@ -1072,6 +1080,12 @@ static void lim_tdls_update_node_he_caps(struct mac_context *mac, struct pe_session *pe_session) { } + +static void lim_tdls_check_and_force_he_ldpc_cap(struct pe_session *pe_session, + tDphHashNode *sta) +{ +} + #endif /* @@ -2837,6 +2851,8 @@ static void lim_tdls_update_hash_node_info(struct mac_context *mac, add_sta_req->ht_cap.mcsset, pe_session, pVhtCaps); + lim_tdls_check_and_force_he_ldpc_cap(pe_session, sta); + /* TDLS Dummy AddSTA does not have right capability , is it OK ?? */ sta->mlmStaContext.capabilityInfo = diff --git a/core/mac/src/pe/lim/lim_utils.c b/core/mac/src/pe/lim/lim_utils.c index 48565121eedf..eb12074e23b9 100644 --- a/core/mac/src/pe/lim/lim_utils.c +++ b/core/mac/src/pe/lim/lim_utils.c @@ -6681,8 +6681,8 @@ bool lim_check_he_80_mcs11_supp(struct pe_session *session, * Return: None */ -static void lim_check_and_force_he_ldpc_cap(struct pe_session *session, - tDot11fIEhe_cap *he_cap) +void lim_check_and_force_he_ldpc_cap(struct pe_session *session, + tDot11fIEhe_cap *he_cap) { if (!he_cap->ldpc_coding && (session->ch_width > CH_WIDTH_20MHZ || diff --git a/core/mac/src/pe/lim/lim_utils.h b/core/mac/src/pe/lim/lim_utils.h index 1d57daf54f7e..3881283f355a 100644 --- a/core/mac/src/pe/lim/lim_utils.h +++ b/core/mac/src/pe/lim/lim_utils.h @@ -1231,6 +1231,9 @@ void lim_log_he_cap(struct mac_context *mac, tDot11fIEhe_cap *he_cap); bool lim_check_he_80_mcs11_supp(struct pe_session *session, tDot11fIEhe_cap *he_cap); +void lim_check_and_force_he_ldpc_cap(struct pe_session *session, + tDot11fIEhe_cap *he_cap); + /** * lim_update_stads_he_caps() - Copy HE capability into STA DPH hash table entry * @mac_ctx: pointer to mac context