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.