diff options
| author | Abhishek Singh <absingh@qti.qualcomm.com> | 2015-08-19 14:48:28 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2015-09-10 14:57:40 +0530 |
| commit | e7c4b047e6796f207fbdbe41c98f01f23bbacd03 (patch) | |
| tree | 515d03f81dbb965ef51b4f554f10b0ceb6b318e5 | |
| parent | 832d026d31d3f40fb914c69a75e1403f95a7d63d (diff) | |
qcacld-2.0:IBSS:Update HT secondary channel offset from beacon in pStaDs
pronto to qcacld-2.0 propagation
While adding pStaDs for IBSS when peer beacon is received, HT
secondary channel offset is not copied from beacon. This leads to
false change capability indication while processing the same beacon
and thus update cb mode is sent with staid 255(default),
leading to crash.
Update HT secondary channel offset from beacon and add a check in
cbmode update to ignore update if staid is 255.
CRs-Fixed: 885747
Change-Id: I66dedb38aadde473b99b2f8fc4a7a9b855a10b2a
| -rw-r--r-- | CORE/MAC/src/pe/lim/limIbssPeerMgmt.c | 7 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/sch/schBeaconProcess.c | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/CORE/MAC/src/pe/lim/limIbssPeerMgmt.c b/CORE/MAC/src/pe/lim/limIbssPeerMgmt.c index effe468aabf1..839783c90027 100644 --- a/CORE/MAC/src/pe/lim/limIbssPeerMgmt.c +++ b/CORE/MAC/src/pe/lim/limIbssPeerMgmt.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved. + * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -263,7 +263,10 @@ ibss_sta_caps_update( if (pPeerNode->htCapable) { pStaDs->htGreenfield = pPeerNode->htGreenfield; - pStaDs->htSupportedChannelWidthSet = pPeerNode->htSupportedChannelWidthSet; + pStaDs->htSupportedChannelWidthSet = + pPeerNode->htSupportedChannelWidthSet; + pStaDs->htSecondaryChannelOffset = + pPeerNode->htSecondaryChannelOffset; pStaDs->htMIMOPSState = pPeerNode->htMIMOPSState; pStaDs->htMaxAmsduLength = pPeerNode->htMaxAmsduLength; pStaDs->htAMpduDensity = pPeerNode->htAMpduDensity; diff --git a/CORE/MAC/src/pe/sch/schBeaconProcess.c b/CORE/MAC/src/pe/sch/schBeaconProcess.c index beaaffb85cbf..5c34eaa54a7b 100644 --- a/CORE/MAC/src/pe/sch/schBeaconProcess.c +++ b/CORE/MAC/src/pe/sch/schBeaconProcess.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved. + * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -484,7 +484,8 @@ static void __schBeaconProcessForSession( tpAniSirGlobal pMac, // check for VHT capability pStaDs = dphLookupHashEntry(pMac, pMh->sa, &aid, &psessionEntry->dph.dphHashTable); - if (NULL != pStaDs && WNI_CFG_CHANNEL_BONDING_MODE_DISABLE != cbMode) + if (NULL != pStaDs && (HAL_STA_INVALID_IDX != pStaDs->staIndex ) && + (WNI_CFG_CHANNEL_BONDING_MODE_DISABLE != cbMode)) { if (psessionEntry->vhtCapability && pBeacon->OperatingMode.present ) { |
