diff options
| author | Selvaraj, Sridhar <sselvara@qti.qualcomm.com> | 2016-03-28 17:12:11 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-03-29 13:46:05 +0530 |
| commit | a277178e0063f0c473a25cb89f10d874b9bb9fca (patch) | |
| tree | 4e12d24c39035e454904634dc7c6253f5b29fbea | |
| parent | 532c5dcc126b5050735bdf222797fc25a95df56a (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.c | 5 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/sch/schApi.c | 7 |
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; } } |
