summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSelvaraj, Sridhar <sselvara@qti.qualcomm.com>2016-03-28 17:12:11 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-03-29 13:46:05 +0530
commita277178e0063f0c473a25cb89f10d874b9bb9fca (patch)
tree4e12d24c39035e454904634dc7c6253f5b29fbea
parent532c5dcc126b5050735bdf222797fc25a95df56a (diff)
qcacld-2.0: Fix Ext Cap IE mismatch in Probe/Assoc Response frames
In SAP mode, while sending Probe response template to HAL from driver, ext cap IE should be merged only if it is present or received from hostapd. In function limSendProbeRspTemplateToHal, extcap_present bool is wrongly initialized to true which leads to updation of the extended Cap IE with junk values in Probe response even for the cases where driver is not supposed to update it. ie cases where the ext cap IE is not present or not received from hostapd Change-Id: If82fbba4c20b5e96dbe1b11c97ab557ded488f3e CRs-Fixed: 995545
-rw-r--r--CORE/MAC/src/pe/lim/limSendManagementFrames.c5
-rw-r--r--CORE/MAC/src/pe/sch/schApi.c7
2 files changed, 7 insertions, 5 deletions
diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
index 7121bbdc4c29..d809d750c733 100644
--- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c
+++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
@@ -596,7 +596,7 @@ limSendProbeRspMgmtFrame(tpAniSirGlobal pMac,
tANI_U8 smeSessionId = 0;
tANI_BOOLEAN isVHTEnabled = eANI_BOOLEAN_FALSE;
tDot11fIEExtCap extractedExtCap;
- tANI_BOOLEAN extractedExtCapFlag = eANI_BOOLEAN_TRUE;
+ tANI_BOOLEAN extractedExtCapFlag = eANI_BOOLEAN_FALSE;
if (ANI_DRIVER_TYPE(pMac) == eDRIVER_TYPE_MFG) {
/* We don't answer requests in this case */
@@ -804,9 +804,10 @@ limSendProbeRspMgmtFrame(tpAniSirGlobal pMac,
&extractedExtCap );
if(eSIR_SUCCESS != nSirStatus )
{
- extractedExtCapFlag = eANI_BOOLEAN_FALSE;
limLog(pMac, LOG1,
FL("Unable to Stripoff ExtCap IE from Probe Rsp"));
+ } else {
+ extractedExtCapFlag = eANI_BOOLEAN_TRUE;
}
nBytes = nBytes + totalAddnIeLen;
diff --git a/CORE/MAC/src/pe/sch/schApi.c b/CORE/MAC/src/pe/sch/schApi.c
index 54a8716d404e..4820f645685f 100644
--- a/CORE/MAC/src/pe/sch/schApi.c
+++ b/CORE/MAC/src/pe/sch/schApi.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2014 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2014, 2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -421,7 +421,7 @@ tANI_U32 limSendProbeRspTemplateToHal(tpAniSirGlobal pMac,tpPESession psessionEn
tANI_U32 addnIELenWoP2pIe = 0;
tANI_U32 retStatus;
tDot11fIEExtCap extracted_extcap;
- bool extcap_present = true;
+ bool extcap_present = false;
tDot11fProbeResponse *prb_rsp_frm;
tSirRetStatus status;
uint16_t addn_ielen = 0;
@@ -497,8 +497,9 @@ tANI_U32 limSendProbeRspTemplateToHal(tpAniSirGlobal pMac,tpPESession psessionEn
status = lim_strip_extcap_update_struct(pMac, addIE, &addn_ielen,
&extracted_extcap);
if (eSIR_SUCCESS != status) {
- extcap_present = false;
limLog(pMac, LOG1, FL("extcap not extracted"));
+ } else {
+ extcap_present = true;
}
}