prima: WLAN Driver Release 3.2.0.9
diff --git a/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c b/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c
index b76995a..77cf321 100644
--- a/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c
+++ b/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c
@@ -128,6 +128,8 @@
pStaDs->htMaxRxAMpduFactor = pAssocRsp->HTCaps.maxRxAMPDUFactor;
limFillRxHighestSupportedRate(pMac, &rxHighestRate, pAssocRsp->HTCaps.supportedMCSSet);
pStaDs->supportedRates.rxHighestDataRate = rxHighestRate;
+ /* This is for AP as peer STA and we are INFRA STA. We will put APs offset in dph node which is peer STA */
+ pStaDs->htSecondaryChannelOffset = (tANI_U8)pAssocRsp->HTInfo.secondaryChannelOffset;
//FIXME_AMPDU
// In the future, may need to check for "assoc.HTCaps.delayedBA"
@@ -135,8 +137,19 @@
pStaDs->baPolicyFlag = 0xFF;
}
}
-
- if (limPopulateOwnRateSet(pMac, &pStaDs->supportedRates, pAssocRsp->HTCaps.supportedMCSSet, false,psessionEntry) != eSIR_SUCCESS) {
+
+#ifdef WLAN_FEATURE_11AC
+ if(IS_DOT11_MODE_VHT(psessionEntry->dot11mode))
+ {
+ pStaDs->mlmStaContext.vhtCapability = pAssocRsp->VHTCaps.present;
+ }
+ if (limPopulateOwnRateSet(pMac, &pStaDs->supportedRates,
+ pAssocRsp->HTCaps.supportedMCSSet,
+ false,psessionEntry , &pAssocRsp->VHTCaps) != eSIR_SUCCESS)
+#else
+ if (limPopulateOwnRateSet(pMac, &pStaDs->supportedRates, pAssocRsp->HTCaps.supportedMCSSet, false,psessionEntry) != eSIR_SUCCESS)
+#endif
+ {
limLog(pMac, LOGP, FL("could not get rateset and extended rate set\n"));
return;
}
@@ -231,10 +244,13 @@
palCopyMemory( pMac->hHdd, psessionEntry->bssId,
psessionEntry->limReAssocbssId, sizeof(tSirMacAddr));
psessionEntry->currentOperChannel = psessionEntry->limReassocChannelId;
+ psessionEntry->htSecondaryChannelOffset = psessionEntry->reAssocHtSupportedChannelWidthSet;
+ psessionEntry->htRecommendedTxWidthSet = psessionEntry->reAssocHtRecommendedTxWidthSet;
+ psessionEntry->htSecondaryChannelOffset = psessionEntry->reAssocHtSecondaryChannelOffset;
psessionEntry->limCurrentBssCaps = psessionEntry->limReassocBssCaps;
psessionEntry->limCurrentBssQosCaps = psessionEntry->limReassocBssQosCaps;
psessionEntry->limCurrentBssPropCap = psessionEntry->limReassocBssPropCap;
- psessionEntry->limCurrentTitanHtCaps = psessionEntry->limReassocTitanHtCaps;
+
palCopyMemory( pMac->hHdd, (tANI_U8 *) &psessionEntry->ssId,
(tANI_U8 *) &psessionEntry->limReassocSSID,
psessionEntry->limReassocSSID.length+1);
@@ -243,7 +259,7 @@
psessionEntry->limAID = pAssocRsp->aid & 0x3FFF;
/** Set the State Back to ReAssoc Rsp*/
psessionEntry->limMlmState = eLIM_MLM_WT_REASSOC_RSP_STATE;
- MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, 0, pMac->lim.gLimMlmState));
+ MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, psessionEntry->peSessionId, psessionEntry->limMlmState));
}
@@ -748,17 +764,15 @@
#endif
) {
PELOGE(limLog(pMac, LOGE, FL("Assoc Rejected by the peer. Reason: %d\n"), mlmAssocCnf.resultCode);)
- pMac->lim.gLimMlmState = eLIM_MLM_IDLE_STATE;
- MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, 0, pMac->lim.gLimMlmState));
+ psessionEntry->limMlmState = eLIM_MLM_IDLE_STATE;
+ MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, psessionEntry->peSessionId, psessionEntry->limMlmState));
if (psessionEntry->pLimMlmJoinReq)
{
palFreeMemory( pMac->hHdd, psessionEntry->pLimMlmJoinReq);
psessionEntry->pLimMlmJoinReq = NULL;
}
- if(limSetLinkState(pMac, eSIR_LINK_IDLE_STATE,psessionEntry->bssId,
- psessionEntry->selfMacAddr, NULL, NULL) != eSIR_SUCCESS)
- PELOGE(limLog(pMac, LOGE, FL("Failed to set the LinkState\n"));)
+
if (subType == LIM_ASSOC)
{
limPostSmeMessage(pMac, LIM_MLM_ASSOC_CNF, (tANI_U32 *) &mlmAssocCnf);