qcacld-3.0: Strip WAPI IE from additional IEs

Support to strip WAPI IE from additional IEs for
beacon frame. Otherwise, it will have duplicated
WAPI IE, which mean one is from rsnIE and the other
is from probeRespBCNData_buff.

Change-Id: Id9708c81445fbb88e5ceb79698bff6bd02f931df
CRs-Fixed: 3562798
This commit is contained in:
Chaoli Zhou
2023-07-18 11:21:15 +08:00
zatwierdzone przez Rahul Choudhary
rodzic ee915da128
commit cc116d9893
3 zmienionych plików z 38 dodań i 0 usunięć

Wyświetl plik

@@ -646,6 +646,31 @@ void lim_strip_he_ies_from_add_ies(struct mac_context *mac_ctx,
}
#endif
#ifdef FEATURE_WLAN_WAPI
void lim_strip_wapi_ies_from_add_ies(struct mac_context *mac_ctx,
struct pe_session *session)
{
struct add_ie_params *add_ie = &session->add_ie_params;
uint8_t wapiie_buff[DOT11F_IE_WAPIOPAQUE_MAX_LEN + 2];
QDF_STATUS status;
qdf_mem_zero(wapiie_buff, sizeof(wapiie_buff));
status = lim_strip_ie(mac_ctx, add_ie->probeRespBCNData_buff,
&add_ie->probeRespBCNDataLen,
DOT11F_EID_WAPIOPAQUE, ONE_BYTE,
NULL, 0,
wapiie_buff, DOT11F_IE_WAPIOPAQUE_MAX_LEN);
if (status != QDF_STATUS_SUCCESS)
pe_debug("Failed to strip WAPI IE status: %d", status);
}
#else
void lim_strip_wapi_ies_from_add_ies(struct mac_context *mac_ctx,
struct pe_session *session)
{
}
#endif
/**
* lim_set_ldpc_exception() - to set allow any LDPC exception permitted
* @mac_ctx: Pointer to mac context

Wyświetl plik

@@ -1068,6 +1068,18 @@ void lim_strip_he_ies_from_add_ies(struct mac_context *mac_ctx,
void lim_strip_eht_ies_from_add_ies(struct mac_context *mac_ctx,
struct pe_session *session);
/**
* lim_strip_wapi_ies_from_add_ies() - This function strip WAPI IE from add_ie
* @mac_ctx: pointer to mac context
* @pe_session: pointer to PE session
*
* This API is to strip WAPI IE from add_ie
*
* Return: none
*/
void lim_strip_wapi_ies_from_add_ies(struct mac_context *mac_ctx,
struct pe_session *session);
/**
* lim_del_pmf_sa_query_timer() - This function deletes SA query timer
* @mac_ctx: pointer to mac context

Wyświetl plik

@@ -872,6 +872,7 @@ sch_set_fixed_beacon_fields(struct mac_context *mac_ctx, struct pe_session *sess
*/
lim_strip_he_ies_from_add_ies(mac_ctx, session);
lim_strip_eht_ies_from_add_ies(mac_ctx, session);
lim_strip_wapi_ies_from_add_ies(mac_ctx, session);
addn_ielen = session->add_ie_params.probeRespBCNDataLen;
addn_ie = qdf_mem_malloc(addn_ielen);