qcacld-3.0:IBSS:Update HT secondary channel offset from beacon in pStaDs

qcacld-2.0 to qcacld-3.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
This commit is contained in:
Abhishek Singh 2015-10-16 16:26:14 +05:30 • committed by Prakash Dhavali
commit 77ec98c2f9
2 changed files with 5 additions and 1 deletions

View file

@ -246,6 +246,8 @@ ibss_sta_caps_update(tpAniSirGlobal pMac,
pStaDs->htGreenfield = pPeerNode->htGreenfield;
pStaDs->htSupportedChannelWidthSet =
pPeerNode->htSupportedChannelWidthSet;
pStaDs->htSecondaryChannelOffset =
pPeerNode->htSecondaryChannelOffset;
pStaDs->htMIMOPSState = pPeerNode->htMIMOPSState;
pStaDs->htMaxAmsduLength = pPeerNode->htMaxAmsduLength;
pStaDs->htAMpduDensity = pPeerNode->htAMpduDensity;

View file

@ -538,7 +538,9 @@ sch_bcn_process_sta_bt_amp_sta_ibss(tpAniSirGlobal mac_ctx,
pStaDs = dph_lookup_hash_entry(mac_ctx, pMh->sa, &aid,
&session->dph.dphHashTable);
if ((NULL == pStaDs) ||
(WNI_CFG_CHANNEL_BONDING_MODE_DISABLE == cb_mode))
(WNI_CFG_CHANNEL_BONDING_MODE_DISABLE == cb_mode) ||
((NULL != pStaDs) &&
(STA_INVALID_IDX == pStaDs->staIndex)))
return;
if (session->vhtCapability && bcn->OperatingMode.present) {