diff --git a/core/mac/src/pe/lim/lim_mlo.c b/core/mac/src/pe/lim/lim_mlo.c index d32f9a10e6..86fac8a66b 100644 --- a/core/mac/src/pe/lim/lim_mlo.c +++ b/core/mac/src/pe/lim/lim_mlo.c @@ -1256,9 +1256,9 @@ 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, - struct pe_session *session, - tDot11fAssocRequest *frm) +lim_fill_assoc_req_mlo_ie(struct mac_context *mac_ctx, + struct pe_session *session, + tDot11fAssocRequest *frm) { QDF_STATUS status; diff --git a/core/mac/src/pe/lim/lim_mlo.h b/core/mac/src/pe/lim/lim_mlo.h index 7d159877da..8205e59480 100644 --- a/core/mac/src/pe/lim/lim_mlo.h +++ b/core/mac/src/pe/lim/lim_mlo.h @@ -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,9 +282,9 @@ 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, - struct pe_session *session, - tDot11fAssocRequest *frm); +lim_fill_assoc_req_mlo_ie(struct mac_context *mac_ctx, + struct pe_session *session, + tDot11fAssocRequest *frm); /** * lim_send_assoc_rsq_mgmt_frame_mlo() - Prepare ML IE for assoc rsq frame @@ -487,9 +487,9 @@ 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, - struct pe_session *session, - tDot11fAssocRequest *frm) +lim_fill_assoc_req_mlo_ie(struct mac_context *mac_ctx, + struct pe_session *session, + tDot11fAssocRequest *frm) { return 0; } diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c index 7375bcd6f1..f5c512eb8b 100644 --- a/core/mac/src/pe/lim/lim_send_management_frames.c +++ b/core/mac/src/pe/lim/lim_send_management_frames.c @@ -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;