From 919239acdb714570abb9f462626bd0f6d377dac8 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Dhanotiya Date: Thu, 5 Mar 2020 21:25:09 +0530 Subject: [PATCH] qcacld-3.0: Check for vendor vht ie to fill assoc ind param Currently there is no check for vendor vht ie in lim fill assoc indication param api. If a station fills its vhtcaps in vendor vht ie in assoc request, lim does not fill vhtcaps information in assoc indication params from station's assoc request and it results in invalid caps info in assoc indication to upper layers. To avoid this issue, add a check to look for vendor vht caps before copy of the vht caps to assoc indication from assoc request. Change-Id: If80136d9a923d23b7db3ebec1d49e6e4012e6dd2 CRs-Fixed: 2633003 --- core/mac/src/pe/lim/lim_process_assoc_req_frame.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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 8375e44ddc..734e213d3f 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;