diff options
| author | Randy Chiu <wchiu@qca.qualcomm.com> | 2014-09-26 16:34:39 +0800 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-09-30 13:26:53 -0700 |
| commit | 12121c6919dca3bf8515905e826635672fdb45da (patch) | |
| tree | 70bf79ebfec0c2d077417850b1ecf2228206570c | |
| parent | 2d77c33c67caab3a8d998020aa81806bb1e5f969 (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.c | 12 |
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) && |
