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 ffe0bd42d70c..5557a0c3b103 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 @@ -1433,6 +1433,10 @@ populate_dot11f_ext_cap(struct mac_context *mac, p_ext_cap->beacon_protection_enable = pe_session ? mlme_get_bigtk_support(pe_session->vdev) : false; + + if (pe_session) + populate_dot11f_twt_extended_caps(mac, pe_session, pDot11f); + /* Need to calculate the num_bytes based on bits set */ if (pDot11f->present) pDot11f->num_bytes = lim_compute_ext_cap_ie_length(pDot11f); @@ -6486,8 +6490,10 @@ QDF_STATUS populate_dot11f_twt_extended_caps(struct mac_context *mac_ctx, { struct s_ext_cap *p_ext_cap; - if (!pe_session->enable_session_twt_support) + if (pe_session->opmode == QDF_STA_MODE && + !pe_session->enable_session_twt_support) { return QDF_STATUS_SUCCESS; + } dot11f->num_bytes = DOT11F_IE_EXTCAP_MAX_LEN; p_ext_cap = (struct s_ext_cap *)dot11f->bytes;