qcacld-3.0: Reject assoc req frame if ML IE fails

During ML connection, if driver is not able to fill the
ML IE in the assoc req frame then return failure.

Change-Id: Ibecd304830888ca4f8838c6759b88c3e965d9438
CRs-Fixed: 3516598
This commit is contained in:
Deeksha Gupta
2023-06-01 12:43:33 +05:30
committed by Rahul Choudhary
parent 3bb88d61f3
commit 4a70925560
3 changed files with 19 additions and 12 deletions

View File

@@ -1256,7 +1256,7 @@ QDF_STATUS lim_add_frag_ie_for_sta_profile(uint8_t *data, uint16_t *len)
}
uint16_t
lim_send_assoc_req_mgmt_frame_mlo(struct mac_context *mac_ctx,
lim_fill_assoc_req_mlo_ie(struct mac_context *mac_ctx,
struct pe_session *session,
tDot11fAssocRequest *frm)
{

View File

@@ -274,7 +274,7 @@ QDF_STATUS lim_fill_complete_mlo_ie(struct pe_session *session,
uint16_t lim_caculate_mlo_ie_length(struct wlan_mlo_ie *mlo_ie);
/**
* lim_send_assoc_req_mgmt_frame_mlo() - Prepare ML IE for assoc req frame
* lim_fill_assoc_req_mlo_ie() - Prepare ML IE for assoc req frame
* @mac_ctx: pointer to mac_context
* @session: pointer to pe_session
* @frm: pointer to tDot11fAssocRequest
@@ -282,7 +282,7 @@ uint16_t lim_caculate_mlo_ie_length(struct wlan_mlo_ie *mlo_ie);
* Return: the actual ML IE length
*/
uint16_t
lim_send_assoc_req_mgmt_frame_mlo(struct mac_context *mac_ctx,
lim_fill_assoc_req_mlo_ie(struct mac_context *mac_ctx,
struct pe_session *session,
tDot11fAssocRequest *frm);
@@ -487,7 +487,7 @@ QDF_STATUS lim_fill_complete_mlo_ie(struct pe_session *session,
}
static inline uint16_t
lim_send_assoc_req_mgmt_frame_mlo(struct mac_context *mac_ctx,
lim_fill_assoc_req_mlo_ie(struct mac_context *mac_ctx,
struct pe_session *session,
tDot11fAssocRequest *frm)
{

View File

@@ -2633,8 +2633,15 @@ lim_send_assoc_req_mgmt_frame(struct mac_context *mac_ctx,
lim_strip_mlo_ie(mac_ctx, add_ie, &add_ie_len);
}
mlo_ie_len =
lim_send_assoc_req_mgmt_frame_mlo(mac_ctx, pe_session, frm);
mlo_ie_len = lim_fill_assoc_req_mlo_ie(mac_ctx, pe_session, frm);
/**
* In case of ML connection, if ML IE length is 0 then return failure.
*/
if (mlo_is_mld_sta(pe_session->vdev) && !mlo_ie_len) {
pe_err("Failed to add ML IE for vdev:%d", pe_session->vdev_id);
goto end;
}
if (pe_session->is11Rconnection) {
struct bss_description *bssdescr;