From 922344761bdcb057df61a550f04468ce7fbeb157 Mon Sep 17 00:00:00 2001 From: "Padma, Santhosh Kumar" Date: Wed, 19 Apr 2017 18:20:02 +0530 Subject: [PATCH] qcacld-3.0: Reset ext_cap structure Currently ext_cap structure is not reset to zero in lim_send_probe_rsp_mgmt_frame. This can cause dot11f_unpack_ie_ext_cap to return status other than DOT11F_PARSE_SUCCESS and result in unnecessary error messages in lim_update_extcap_struct. Reset ext_cap structure in lim_send_probe_rsp_mgmt_frame to fix this. Change-Id: I874d4d150a405d32737912f0b40661bafa5df268 CRs-Fixed: 2035704 --- core/mac/src/pe/lim/lim_send_management_frames.c | 2 +- core/mac/src/pe/lim/lim_utils.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) 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 784daf59b4df..40988d2ad534 100644 --- a/core/mac/src/pe/lim/lim_send_management_frames.c +++ b/core/mac/src/pe/lim/lim_send_management_frames.c @@ -561,7 +561,7 @@ lim_send_probe_rsp_mgmt_frame(tpAniSirGlobal mac_ctx, uint8_t noa_ie[SIR_MAX_NOA_ATTR_LEN + SIR_P2P_IE_HEADER_LEN]; uint8_t sme_sessionid = 0; bool is_vht_enabled = false; - tDot11fIEExtCap extracted_ext_cap; + tDot11fIEExtCap extracted_ext_cap = {0}; bool extracted_ext_cap_flag = false; /* We don't answer requests in this case*/ diff --git a/core/mac/src/pe/lim/lim_utils.c b/core/mac/src/pe/lim/lim_utils.c index 41391f15a585..a7b9c18c509b 100644 --- a/core/mac/src/pe/lim/lim_utils.c +++ b/core/mac/src/pe/lim/lim_utils.c @@ -6607,6 +6607,7 @@ void lim_update_extcap_struct(tpAniSirGlobal mac_ctx, uint8_t *buf, tDot11fIEExtCap *dst) { uint8_t out[DOT11F_IE_EXTCAP_MAX_LEN]; + uint32_t status; if (NULL == buf) { pe_err("Invalid Buffer Address"); @@ -6627,9 +6628,10 @@ void lim_update_extcap_struct(tpAniSirGlobal mac_ctx, qdf_mem_set((uint8_t *)&out[0], DOT11F_IE_EXTCAP_MAX_LEN, 0); qdf_mem_copy(&out[0], &buf[2], buf[1]); - if (DOT11F_PARSE_SUCCESS != dot11f_unpack_ie_ext_cap(mac_ctx, &out[0], - buf[1], dst, false)) - pe_err("dot11f_unpack Parse Error"); + status = dot11f_unpack_ie_ext_cap(mac_ctx, &out[0], + buf[1], dst, false); + if (DOT11F_PARSE_SUCCESS != status) + pe_err("dot11f_unpack Parse Error %d", status); } /**