diff --git a/core/mac/src/pe/lim/lim_process_assoc_req_frame.c b/core/mac/src/pe/lim/lim_process_assoc_req_frame.c index 8375e44ddc56..734e213d3f11 100644 --- a/core/mac/src/pe/lim/lim_process_assoc_req_frame.c +++ b/core/mac/src/pe/lim/lim_process_assoc_req_frame.c @@ -2854,8 +2854,14 @@ bool lim_fill_lim_assoc_ind_params( assoc_ind->ecsa_capable = ((struct s_ext_cap *)assoc_req->ExtCap.bytes)->ext_chan_switch; /* updates VHT information in assoc indication */ - qdf_mem_copy(&assoc_ind->vht_caps, &assoc_req->VHTCaps, - sizeof(tDot11fIEVHTCaps)); + if (assoc_req->VHTCaps.present) + qdf_mem_copy(&assoc_ind->vht_caps, &assoc_req->VHTCaps, + sizeof(tDot11fIEVHTCaps)); + else if (assoc_req->vendor_vht_ie.VHTCaps.present) + qdf_mem_copy(&assoc_ind->vht_caps, + &assoc_req->vendor_vht_ie.VHTCaps, + sizeof(tDot11fIEVHTCaps)); + lim_fill_assoc_ind_vht_info(mac_ctx, session_entry, assoc_req, assoc_ind, sta_ds); assoc_ind->he_caps_present = assoc_req->he_cap.present;