diff --git a/core/mac/src/pe/include/lim_session.h b/core/mac/src/pe/include/lim_session.h index 47aa22702de7..e72f9888899d 100644 --- a/core/mac/src/pe/include/lim_session.h +++ b/core/mac/src/pe/include/lim_session.h @@ -577,6 +577,8 @@ struct pe_session { uint16_t prot_status_code; tSirResultCodes result_code; uint32_t dfs_regdomain; + /* AP power type */ + uint8_t ap_power_type; }; /*------------------------------------------------------------------------- diff --git a/core/mac/src/pe/lim/lim_prop_exts_utils.c b/core/mac/src/pe/lim/lim_prop_exts_utils.c index c422d840f987..1ef63402ed38 100644 --- a/core/mac/src/pe/lim/lim_prop_exts_utils.c +++ b/core/mac/src/pe/lim/lim_prop_exts_utils.c @@ -127,7 +127,8 @@ static void lim_extract_he_op(struct pe_session *session, session->he_op.oper_info_6g.info.center_freq_seg0; session->ch_center_freq_seg1 = session->he_op.oper_info_6g.info.center_freq_seg1; - + session->ap_power_type = + session->he_op.oper_info_6g.info.reg_info; pe_debug("6G op info: ch_wd %d cntr_freq_seg0 %d cntr_freq_seg1 %d", session->ch_width, session->ch_center_freq_seg0, session->ch_center_freq_seg1); diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index d747004c25e2..1a7dbfb21e0c 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -45,6 +45,7 @@ #include "wlan_mlme_public_struct.h" #include "wlan_mlme_ucfg_api.h" #include "wlan_mlme_api.h" +#include "wlan_reg_services_api.h" #define RSN_OUI_SIZE 4 /* ////////////////////////////////////////////////////////////////////// */ @@ -4518,6 +4519,8 @@ sir_convert_beacon_frame2_struct(struct mac_context *mac, pBeaconStruct->chan_freq = wlan_reg_chan_band_to_freq(mac->pdev, pBeacon->he_op.oper_info_6g.info.primary_ch, BIT(REG_BAND_6G)); + pBeaconStruct->ap_power_type = + pBeacon->he_op.oper_info_6g.info.reg_info; } else if (pBeacon->DSParams.present) { pBeaconStruct->dsParamsPresent = 1; pBeaconStruct->chan_freq = @@ -6396,6 +6399,8 @@ populate_dot11f_he_operation(struct mac_context *mac_ctx, session->curr_op_freq); he_op->oper_info_6g.info.dup_bcon = 0; he_op->oper_info_6g.info.min_rate = 0; + he_op->oper_info_6g.info.reg_info = + wlan_reg_decide_6g_ap_pwr_type(mac_ctx->pdev); } lim_log_he_op(mac_ctx, he_op, session);