summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandy Chiu <wchiu@qca.qualcomm.com>2014-09-26 16:34:39 +0800
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-09-30 13:26:53 -0700
commit12121c6919dca3bf8515905e826635672fdb45da (patch)
tree70bf79ebfec0c2d077417850b1ecf2228206570c
parent2d77c33c67caab3a8d998020aa81806bb1e5f969 (diff)
qcacld: Wrong VHT TX rate setting after associating
When calculating pRates->vhtTxMCSMap/pRates->vhtRxMCSMap, it should intersect with peer side pPeerVHTCaps->rxMCSMap/pPeerVHTCaps->txMCSMap to get the maximum supported MCSMap for peer side. Change-Id: Ic047c95851968ef2534fcb2772ffb7495be29359 CRs-Fixed: 730732
-rw-r--r--CORE/MAC/src/pe/lim/limAssocUtils.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/CORE/MAC/src/pe/lim/limAssocUtils.c b/CORE/MAC/src/pe/lim/limAssocUtils.c
index c01803c284c8..02eac26355a6 100644
--- a/CORE/MAC/src/pe/lim/limAssocUtils.c
+++ b/CORE/MAC/src/pe/lim/limAssocUtils.c
@@ -1597,20 +1597,20 @@ tSirRetStatus limPopulateVhtMcsSet(tpAniSirGlobal pMac,
}
}
- if ((pPeerVHTCaps->rxMCSMap & mcsMapMask) < (pRates->vhtRxMCSMap & mcsMapMask)) {
+ if ((pPeerVHTCaps->txMCSMap & mcsMapMask) < (pRates->vhtRxMCSMap & mcsMapMask)) {
pRates->vhtRxMCSMap &= ~(mcsMapMask);
- pRates->vhtRxMCSMap |= (pPeerVHTCaps->rxMCSMap & mcsMapMask);
+ pRates->vhtRxMCSMap |= (pPeerVHTCaps->txMCSMap & mcsMapMask);
}
- if ((pPeerVHTCaps->txMCSMap & mcsMapMask) < (pRates->vhtTxMCSMap & mcsMapMask)) {
+ if ((pPeerVHTCaps->rxMCSMap & mcsMapMask) < (pRates->vhtTxMCSMap & mcsMapMask)) {
pRates->vhtTxMCSMap &= ~(mcsMapMask);
- pRates->vhtTxMCSMap |= (pPeerVHTCaps->txMCSMap & mcsMapMask);
+ pRates->vhtTxMCSMap |= (pPeerVHTCaps->rxMCSMap & mcsMapMask);
}
if (mcsMapMask2x2) {
tANI_U16 peerMcsMap, selfMcsMap;
- peerMcsMap = pPeerVHTCaps->rxMCSMap & mcsMapMask2x2;
+ peerMcsMap = pPeerVHTCaps->txMCSMap & mcsMapMask2x2;
selfMcsMap = pRates->vhtRxMCSMap & mcsMapMask2x2;
if ((selfMcsMap != mcsMapMask2x2) &&
@@ -1620,7 +1620,7 @@ tSirRetStatus limPopulateVhtMcsSet(tpAniSirGlobal pMac,
pRates->vhtRxMCSMap |= peerMcsMap;
}
- peerMcsMap = (pPeerVHTCaps->txMCSMap & mcsMapMask2x2);
+ peerMcsMap = (pPeerVHTCaps->rxMCSMap & mcsMapMask2x2);
selfMcsMap = (pRates->vhtTxMCSMap & mcsMapMask2x2);
if ((selfMcsMap != mcsMapMask2x2) &&