prima: WLAN Driver Release 3.2.0.9
diff --git a/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c b/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c
index 726da44..0e82c0d 100644
--- a/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c
+++ b/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c
@@ -129,101 +129,6 @@
} /*** end limSetDefaultKeyIdAndKeys() ***/
-
-/**
- * handleCBCFGChange()
- *
- *FUNCTION:
- *
- *PARAMS:
- *
- *LOGIC:
- *
- *ASSUMPTIONS:
- * If this API is invoked with
- * cfgId == ANI_IGNORE_CFG_ID
- * Then,
- * this routine will traverse thru' ALL the
- * related CFG's that are statically setup
- * Else,
- * only update this "1" CFG identified by cfgId
- *
- *NOTE:
- *
- * @param pMac - Pointer to Global MAC structure
- * @param cfgId - ID of CFG parameter that got updated
- * @return None
- */
-void handleCBCFGChange( tpAniSirGlobal pMac, tANI_U32 cfgId )
-{
-tANI_U32 cfg, val, i = 0;
-tANI_U32 defaultCfgList[] = {
- WNI_CFG_CHANNEL_BONDING_MODE,
- ANI_IGNORE_CFG_ID };
-
- do
- {
- //
- // Determine if we have to use our own default CFG list
- // OR should we use the argument passed to us
- //
- if( ANI_IGNORE_CFG_ID == cfgId )
- cfg = defaultCfgList[i]; // "n" iterations reqd
- else
- cfg = cfgId; // Just "1" iteration reqd
-
- switch( cfg )
- {
- case WNI_CFG_CHANNEL_BONDING_MODE:
- if( eSIR_SUCCESS != wlan_cfgGetInt( pMac,
- WNI_CFG_CHANNEL_BONDING_MODE,
- &val ))
- {
- limLog( pMac, LOGW,
- FL("Unable to retrieve CHANNEL BONDING Mode from CFG. Defaulting to DISABLE\n"));
- pMac->lim.gCbMode = WNI_CFG_CHANNEL_BONDING_MODE_DISABLE;
- }
- else
- pMac->lim.gCbMode = (tANI_U8) val;
-
- // Now, set the CHANNEL BONDING state apropriately
- switch( pMac->lim.gCbMode )
- {
- // Always OFF
- case WNI_CFG_CHANNEL_BONDING_MODE_DISABLE:
- SET_CB_STATE_DISABLE( pMac->lim.gCbState );
- break;
-
- // Always ON
- case WNI_CFG_CHANNEL_BONDING_MODE_ENABLE:
- SET_CB_STATE_ENABLE( pMac->lim.gCbState );
- break;
-
- default:
- SET_CB_STATE_ENABLE( pMac->lim.gCbState );
- break;
- }
- break;
-
- default:
- break;
- }
-
- // DEBUG LOG the TITAN CFG's
- limLog( pMac, LOG1,
- FL("The TITAN related global CFG's are: "
- "cbMode - %1d cbState - %1d\n"),
- pMac->lim.gCbMode, pMac->lim.gCbState);
-
- // If only "1" CFG needs an update, then return
- if( ANI_IGNORE_CFG_ID == cfgId )
- i++;
- else
- break;
-
- } while( ANI_IGNORE_CFG_ID != defaultCfgList[i] ); // End-Of-List?
-}
-
/** -------------------------------------------------------------
\fn limSetCfgProtection
\brief sets lim global cfg cache from the config.
@@ -371,10 +276,8 @@
{
tANI_U32 val1, val2;
tANI_U16 val16;
- tANI_U8 val8;
tSirMacHTCapabilityInfo *pHTCapabilityInfo;
tSirMacHTParametersInfo *pAmpduParamInfo;
- tSirMacHTInfoField1 *pHTInfoField1;
PELOG3(limLog(pMac, LOG3, FL("Handling CFG parameter id %X update\n"), cfgId);)
switch (cfgId)
@@ -436,7 +339,7 @@
(pMac->lim.gLimSmeState == eLIM_SME_NORMAL_STATE)))
{
// Reactivate Background scan timer
- MTRACE(macTrace(pMac, TRACE_CODE_TIMER_ACTIVATE, 0, eLIM_BACKGROUND_SCAN_TIMER));
+ MTRACE(macTrace(pMac, TRACE_CODE_TIMER_ACTIVATE, NO_SESSION, eLIM_BACKGROUND_SCAN_TIMER));
if (tx_timer_activate(
&pMac->lim.limTimers.gLimBackgroundScanTimer) != TX_SUCCESS)
{
@@ -473,7 +376,7 @@
pMac->lim.limTimers.gLimPreAuthClnupTimer.sessionId = sessionId;
#endif
// Reactivate pre-auth cleanup timer
- MTRACE(macTrace(pMac, TRACE_CODE_TIMER_ACTIVATE, 0, eLIM_PRE_AUTH_CLEANUP_TIMER));
+ MTRACE(macTrace(pMac, TRACE_CODE_TIMER_ACTIVATE, NO_SESSION, eLIM_PRE_AUTH_CLEANUP_TIMER));
if (tx_timer_activate(&pMac->lim.limTimers.gLimPreAuthClnupTimer)
!= TX_SUCCESS)
{
@@ -499,44 +402,6 @@
break;
- case WNI_CFG_CHANNEL_BONDING_MODE:
- handleCBCFGChange( pMac, cfgId );
- //for Secondary channel, change setupCBMode function OR the caller of that function during Join (STA) or Start BSS(AP/IBSS)
- //Now update the HT Capability CFG based on Channel Bonding CFG
- if (wlan_cfgGetInt(pMac, WNI_CFG_HT_CAP_INFO, &val1) != eSIR_SUCCESS)
- {
- PELOGE(limLog(pMac, LOGE, FL("could not retrieve HT Cap CFG\n"));)
- break;
- }
- if (wlan_cfgGetInt(pMac, WNI_CFG_CHANNEL_BONDING_MODE, &val2) != eSIR_SUCCESS)
- {
- PELOGE(limLog(pMac, LOGE, FL("could not retrieve Channel Bonding CFG\n"));)
- break;
- }
- val16 = ( tANI_U16 ) val1;
- pHTCapabilityInfo = ( tSirMacHTCapabilityInfo* ) &val16;
-
- //channel bonding mode could be set to anything from 0 to 4(Titan had these modes)
- //But for Taurus we have only two modes: enable(>0) or disable(=0)
- pHTCapabilityInfo->supportedChannelWidthSet = val2 ? WNI_CFG_CHANNEL_BONDING_MODE_ENABLE : WNI_CFG_CHANNEL_BONDING_MODE_DISABLE;
- if(cfgSetInt(pMac, WNI_CFG_HT_CAP_INFO, *(tANI_U16*)pHTCapabilityInfo) != eSIR_SUCCESS)
- PELOGE(limLog(pMac, LOGE, FL("could not update HT Cap Info CFG\n"));)
-
- if (wlan_cfgGetInt(pMac, WNI_CFG_HT_INFO_FIELD1, &val1) != eSIR_SUCCESS)
- {
- PELOGE(limLog(pMac, LOGE, FL("could not retrieve HT INFO Field1 CFG\n"));)
- break;
- }
- val8 = ( tANI_U8 ) val1;
- pHTInfoField1 = ( tSirMacHTInfoField1* ) &val8;
- pHTInfoField1->recommendedTxWidthSet = (tANI_U8)pHTCapabilityInfo->supportedChannelWidthSet;
- pMac->lim.gHTRecommendedTxWidthSet = pHTInfoField1->recommendedTxWidthSet;
- if(cfgSetInt(pMac, WNI_CFG_HT_INFO_FIELD1, *(tANI_U8*)pHTInfoField1) != eSIR_SUCCESS)
- PELOGE(limLog(pMac, LOGE, FL("could not update HT Info Field\n"));)
-
- break;
-
-
case WNI_CFG_TRIG_STA_BK_SCAN:
if(limUpdateTriggerStaBkScanFlag(pMac) != eSIR_SUCCESS)
{
@@ -819,15 +684,14 @@
limUpdateConfig(pMac,psessionEntry);
- if (wlan_cfgGetInt(pMac, WNI_CFG_SHORT_SLOT_TIME, &val)
- != eSIR_SUCCESS)
+ if (phyMode == WNI_CFG_PHY_MODE_11A)
{
- limLog(pMac, LOGP, FL("cfg get WNI_CFG_SHORT_SLOT_TIME failed\n"));
- return;
+ // 11a mode always uses short slot
+ // Check this since some APs in 11a mode broadcast long slot in their beacons. As per standard, always use what PHY mandates.
+ psessionEntry->shortSlotTimeSupported = true;
}
- if (phyMode == WNI_CFG_PHY_MODE_11G)
+ else if (phyMode == WNI_CFG_PHY_MODE_11G)
{
-
if ((psessionEntry->pePersona == VOS_STA_SAP_MODE) ||
(psessionEntry->pePersona == VOS_P2P_GO_MODE))
{
@@ -842,22 +706,12 @@
else if (psessionEntry->limMlmState == eLIM_MLM_WT_REASSOC_RSP_STATE)
// Reassociating with AP.
val = SIR_MAC_GET_SHORT_SLOT_TIME( psessionEntry->limReassocBssCaps);
-
-
- if (cfgSetInt(pMac, WNI_CFG_SHORT_SLOT_TIME, val) != eSIR_SUCCESS)
- {
- limLog(pMac, LOGP, FL("could not update short slot time at CFG\n"));
- return;
- }
+ psessionEntry->shortSlotTimeSupported = val;
}
- else
+ else // if (phyMode == WNI_CFG_PHY_MODE_11B) - use this if another phymode is added later ON
{
- // Reset short slot time at CFG
- if (cfgSetInt(pMac, WNI_CFG_SHORT_SLOT_TIME, 0) != eSIR_SUCCESS)
- {
- limLog(pMac, LOGP, FL("could not update short slot time at CFG\n"));
- return;
- }
+ // Will reach here in 11b case
+ psessionEntry->shortSlotTimeSupported = false;
}
//apply protection related config.