summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAgrawal Ashish <ashishka@codeaurora.org>2017-03-10 17:27:03 +0530
committerAgrawal Ashish <ashishka@codeaurora.org>2017-04-04 12:14:56 +0530
commit2eed38b4944519cf84717102bccbfd2ea149c821 (patch)
tree415a15ed3c3df1eff28c492223c405315853865b
parentb7bc4efed6409119d1cc5a8e4dcba0c4edf877e4 (diff)
qcacld-2.0: Update negotiated maxTxPower in Assoc request
prima to qcacld-2.0 propagation On some channel, AP's tranmission power is less than regulatory tx power as per db.txt. While sending Assoc request, driver should populate negotiated power (min power of AP's tx power and regulatory power for operating channel) in Assoc request. This doesn't happen currently, fix it to ensure that driver follow negotiated power. Change-Id: I7755894b72e4f0f7ffc371abbbda5c75b2851b13 CRs-Fixed: 2025112
-rw-r--r--CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
index 83119fa6a927..f75506bf82f9 100644
--- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
@@ -2342,6 +2342,20 @@ __limProcessSmeJoinReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf)
psessionEntry->maxTxPower = limGetMaxTxPower(regMax,
localPowerConstraint, pMac->roam.configParam.nTxPowerCap);
+ limLog(pMac, LOG1,
+ FL("regMax = %d, localPowerConstraint = %d,"
+ "max tx pwr = %d, UAPSD flag for all AC - 0x%2x"),
+ regMax, localPowerConstraint,
+ psessionEntry->maxTxPower,
+ psessionEntry->gUapsdPerAcBitmask);
+
+ if (pSmeJoinReq->powerCap.maxTxPower > psessionEntry->maxTxPower)
+ {
+ pSmeJoinReq->powerCap.maxTxPower = psessionEntry->maxTxPower;
+ VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_INFO,
+ "Update MaxTxPower in join Req to %d",
+ pSmeJoinReq->powerCap.maxTxPower);
+ }
if(!pMac->psOffloadEnabled)
{
if (pMac->lim.gLimCurrentBssUapsd)
@@ -2364,12 +2378,6 @@ __limProcessSmeJoinReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf)
psessionEntry->gUapsdPerAcTriggerEnableMask = 0;
}
}
- limLog(pMac, LOG1,
- FL("regMax = %d, localPowerConstraint = %d,"
- "max tx pwr = %d, UAPSD flag for all AC - 0x%2x"),
- regMax, localPowerConstraint,
- psessionEntry->maxTxPower,
- psessionEntry->gUapsdPerAcBitmask);
psessionEntry->limRFBand = limGetRFBand(psessionEntry->currentOperChannel);