wlan: Extended Capability and VHT Opmode support

Change-Id: I12e1941adb86d6d6f3ad6863e2938dbfe6054264
CRs-Fixed: 395644, 395645
diff --git a/CORE/MAC/inc/sirMacProtDef.h b/CORE/MAC/inc/sirMacProtDef.h
index cd7b19a..4e4b62d 100644
--- a/CORE/MAC/inc/sirMacProtDef.h
+++ b/CORE/MAC/inc/sirMacProtDef.h
@@ -163,6 +163,9 @@
 #if defined WLAN_FEATURE_P2P
 #define SIR_MAC_ACTION_PUBLIC_USAGE 4
 #endif
+#ifdef WLAN_FEATURE_11AC
+#define SIR_MAC_ACTION_VHT            21
+#endif
 
 // QoS management action codes
 
@@ -215,6 +218,11 @@
 
 #endif
 
+//VHT Action Field 
+#ifdef WLAN_FEATURE_11AC
+#define SIR_MAC_VHT_OPMODE_NOTIFICATION        2
+#endif
+
 // HT Action Field Codes
 #define SIR_MAC_SM_POWER_SAVE       1
 
@@ -371,6 +379,7 @@
 #define SIR_MAC_VHT_CAPABILITIES_EID   191
 #define SIR_MAC_VHT_OPERATION_EID      192
 #define SIR_MAC_VHT_EXT_BSS_LOAD_EID   193
+#define SIR_MAC_VHT_OPMODE_EID         199
 #endif
 #define SIR_MAC_MAX_SUPPORTED_MCS_SET    16
 
diff --git a/CORE/MAC/src/include/dot11f.h b/CORE/MAC/src/include/dot11f.h
index 2b9c5b1..7fc072e 100644
--- a/CORE/MAC/src/include/dot11f.h
+++ b/CORE/MAC/src/include/dot11f.h
@@ -341,6 +341,28 @@
 
 void dot11fPackFfNumOfRepetitions(tpAniSirGlobal, tDot11fFfNumOfRepetitions*, tANI_U8*);
 
+typedef struct sDot11fFfOperatingMode {
+    tANI_U8  chanWidth: 2;
+    tANI_U8   reserved: 2;
+    tANI_U8      rxNSS: 3;
+    tANI_U8  rxNSSType: 1;
+} tDot11fFfOperatingMode;
+
+#define DOT11F_FF_OPERATINGMODE_LEN ( 1 )
+
+void dot11fUnpackFfOperatingMode(tpAniSirGlobal, tANI_U8*, tDot11fFfOperatingMode*);
+
+void dot11fPackFfOperatingMode(tpAniSirGlobal, tDot11fFfOperatingMode*, tANI_U8*);
+
+#define OPERATINGMODE_CHANWIDTH_OFFSET 0
+#define OPERATINGMODE_CHANWIDTH_WIDTH  2
+#define OPERATINGMODE_RESERVED_OFFSET  2
+#define OPERATINGMODE_RESERVED_WIDTH   2
+#define OPERATINGMODE_RXNSS_OFFSET     4
+#define OPERATINGMODE_RXNSS_WIDTH      3
+#define OPERATINGMODE_RXNSSTYPE_OFFSET 7
+#define OPERATINGMODE_RXNSSTYPE_WIDTH  1
+
 typedef struct sDot11fFfP2POUI {
     tANI_U32 oui;
 } tDot11fFfP2POUI;
@@ -3407,6 +3429,80 @@
 #ifdef __cplusplus
 }; /* End extern "C". */
 #endif /* C++ */
+// EID 127 (0x7f)
+typedef struct sDot11fIEExtCap {
+    tANI_U8      present;
+    tANI_U32 bssCoexistMgmtSupport: 1;
+    tANI_U32        reserved1: 1;
+    tANI_U32    extChanSwitch: 1;
+    tANI_U32        reserved2: 1;
+    tANI_U32          psmpCap: 1;
+    tANI_U32        reserved3: 1;
+    tANI_U32         spsmpCap: 1;
+    tANI_U32            event: 1;
+    tANI_U32      diagnostics: 1;
+    tANI_U32 multiDiagnostics: 1;
+    tANI_U32      locTracking: 1;
+    tANI_U32              FMS: 1;
+    tANI_U32  proxyARPService: 1;
+    tANI_U32 coLocIntfReporting: 1;
+    tANI_U32         civicLoc: 1;
+    tANI_U32    geospatialLoc: 1;
+    tANI_U32              TFS: 1;
+    tANI_U32     wnmSleepMode: 1;
+    tANI_U32     timBroadcast: 1;
+    tANI_U32    bssTransition: 1;
+    tANI_U32    qosTrafficCap: 1;
+    tANI_U32         acStaCnt: 1;
+    tANI_U32       multiBSSID: 1;
+    tANI_U32       timingMeas: 1;
+    tANI_U32        chanUsage: 1;
+    tANI_U32         ssidList: 1;
+    tANI_U32              DMS: 1;
+    tANI_U32     UTCTSFOffset: 1;
+    tANI_U32 TDLSPeerUAPSDBufferSTA: 1;
+    tANI_U32 TDLSChannelSwitching: 1;
+    tANI_U32 interworkingService: 1;
+    tANI_U32           qosMap: 1;
+    tANI_U16              EBR: 1;
+    tANI_U16    sspnInterface: 1;
+    tANI_U16        reserved4: 1;
+    tANI_U16         msgCFCap: 1;
+    tANI_U16      TDLSSupport: 1;
+    tANI_U16   TDLSProhibited: 1;
+    tANI_U16 TDLSChanSwitProhibited: 1;
+    tANI_U16 rejectUnadmittedTraffic: 1;
+    tANI_U16 serviceIntervalGranularity: 3;
+    tANI_U16    identifierLoc: 1;
+    tANI_U16 uapsdCoexistence: 1;
+    tANI_U16  wnmNotification: 1;
+    tANI_U16        reserved5: 1;
+    tANI_U16         UTF8SSID: 1;
+    tANI_U16        reserved6: 13;
+    tANI_U16      TDLSWiderBW: 1;
+    tANI_U16 operModeNotification: 1;
+    tANI_U16        reserved7: 1;
+} tDot11fIEExtCap;
+
+#define DOT11F_EID_EXTCAP ( 127 )
+
+// N.B. These #defines do *not* include the EID & length
+#define DOT11F_IE_EXTCAP_MIN_LEN ( 8 )
+
+#define DOT11F_IE_EXTCAP_MAX_LEN ( 8 )
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+tANI_U32 dot11fUnpackIeExtCap(tpAniSirGlobal, tANI_U8*,tANI_U8, tDot11fIEExtCap*);
+
+tANI_U32 dot11fPackIeExtCap(tpAniSirGlobal, tDot11fIEExtCap*, tANI_U8*, tANI_U32, tANI_U32*);
+
+tANI_U32 dot11fGetPackedIEExtCap(tpAniSirGlobal, tDot11fIEExtCap*, tANI_U32*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
 // EID 62 (0x3e)
 typedef struct sDot11fIEExtChanSwitchAnn {
     tANI_U8      present;
@@ -3965,6 +4061,34 @@
 #ifdef __cplusplus
 }; /* End extern "C". */
 #endif /* C++ */
+// EID 199 (0xc7)
+typedef struct sDot11fIEOperatingMode {
+    tANI_U8      present;
+    tANI_U8        chanWidth: 2;
+    tANI_U8         reserved: 2;
+    tANI_U8            rxNSS: 3;
+    tANI_U8        rxNSSType: 1;
+} tDot11fIEOperatingMode;
+
+#define DOT11F_EID_OPERATINGMODE ( 199 )
+
+// N.B. These #defines do *not* include the EID & length
+#define DOT11F_IE_OPERATINGMODE_MIN_LEN ( 1 )
+
+#define DOT11F_IE_OPERATINGMODE_MAX_LEN ( 1 )
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+tANI_U32 dot11fUnpackIeOperatingMode(tpAniSirGlobal, tANI_U8*,tANI_U8, tDot11fIEOperatingMode*);
+
+tANI_U32 dot11fPackIeOperatingMode(tpAniSirGlobal, tDot11fIEOperatingMode*, tANI_U8*, tANI_U32, tANI_U32*);
+
+tANI_U32 dot11fGetPackedIEOperatingMode(tpAniSirGlobal, tDot11fIEOperatingMode*, tANI_U32*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
 // EID 221 (0xdd) {OUI 0x50, 0x6f, 0x9a, 0x09} (Multi-IE)
 typedef struct sDot11fIEP2PAssocReq {
     tANI_U8      present;
@@ -5871,6 +5995,7 @@
     tDot11fIEP2PIEOpaque    P2PIEOpaque;
     tDot11fIEWFDIEOpaque    WFDIEOpaque;
     tDot11fIEVHTCaps        VHTCaps;
+    tDot11fIEExtCap         ExtCap;
     tDot11fIEOperatingMode  OperatingMode;
 } tDot11fAssocRequest;
 
@@ -5917,6 +6042,7 @@
     tDot11fIEP2PAssocRes    P2PAssocRes;
     tDot11fIEVHTCaps        VHTCaps;
     tDot11fIEVHTOperation   VHTOperation;
+    tDot11fIEExtCap         ExtCap;
 } tDot11fAssocResponse;
 
 #define DOT11F_ASSOCRESPONSE ( 6 )
@@ -6004,6 +6130,8 @@
     tDot11fIEVHTCaps          VHTCaps;
     tDot11fIEVHTOperation     VHTOperation;
     tDot11fIEVHTExtBssLoad    VHTExtBssLoad;
+    tDot11fIEExtCap           ExtCap;
+    tDot11fIEOperatingMode    OperatingMode;
 } tDot11fBeacon;
 
 #define DOT11F_BEACON ( 8 )
@@ -6074,6 +6202,8 @@
     tDot11fIEVHTCaps          VHTCaps;
     tDot11fIEVHTOperation     VHTOperation;
     tDot11fIEVHTExtBssLoad    VHTExtBssLoad;
+    tDot11fIEExtCap           ExtCap;
+    tDot11fIEOperatingMode    OperatingMode;
 } tDot11fBeacon2;
 
 #define DOT11F_BEACON2 ( 10 )
@@ -6132,6 +6262,8 @@
     tDot11fIEVHTCaps           VHTCaps;
     tDot11fIEVHTOperation      VHTOperation;
     tDot11fIEVHTExtBssLoad     VHTExtBssLoad;
+    tDot11fIEExtCap            ExtCap;
+    tDot11fIEOperatingMode     OperatingMode;
 } tDot11fBeaconIEs;
 
 #define DOT11F_BEACONIES ( 11 )
@@ -6591,6 +6723,26 @@
 } /* End extern "C". */
 #endif /* C++ */
 
+typedef struct sDot11fOperatingMode{
+    tDot11fFfCategory      Category;
+    tDot11fFfAction        Action;
+    tDot11fFfOperatingMode OperatingMode;
+} tDot11fOperatingMode;
+
+#define DOT11F_OPERATINGMODE ( 32 )
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+
+tANI_U32 dot11fUnpackOperatingMode(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fOperatingMode *pFrm);
+tANI_U32 dot11fPackOperatingMode(tpAniSirGlobal pCtx, tDot11fOperatingMode *pFrm, tANI_U8 *pBuf, tANI_U32 nBuf, tANI_U32 *pnConsumed);
+tANI_U32 dot11fGetPackedOperatingModeSize(tpAniSirGlobal pCtx, tDot11fOperatingMode *pFrm, tANI_U32 *pnNeeded);
+
+#ifdef __cplusplus
+} /* End extern "C". */
+#endif /* C++ */
+
 typedef struct sDot11fPresenceReq{
     tDot11fFfCategory           Category;
     tDot11fFfP2POUI             P2POUI;
@@ -6599,7 +6751,7 @@
     tDot11fIEP2PNoticeOfAbsence P2PNoticeOfAbsence;
 } tDot11fPresenceReq;
 
-#define DOT11F_PRESENCEREQ ( 32 )
+#define DOT11F_PRESENCEREQ ( 33 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6621,7 +6773,7 @@
     tDot11fIEP2PPresenceResponse P2PPresenceResponse;
 } tDot11fPresenceRes;
 
-#define DOT11F_PRESENCERES ( 33 )
+#define DOT11F_PRESENCERES ( 34 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6648,7 +6800,7 @@
     tDot11fIEVHTCaps       VHTCaps;
 } tDot11fProbeRequest;
 
-#define DOT11F_PROBEREQUEST ( 34 )
+#define DOT11F_PROBEREQUEST ( 35 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6704,9 +6856,10 @@
     tDot11fIEVHTCaps          VHTCaps;
     tDot11fIEVHTOperation     VHTOperation;
     tDot11fIEVHTExtBssLoad    VHTExtBssLoad;
+    tDot11fIEExtCap           ExtCap;
 } tDot11fProbeResponse;
 
-#define DOT11F_PROBERESPONSE ( 35 )
+#define DOT11F_PROBERESPONSE ( 36 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6729,7 +6882,7 @@
     tDot11fIEP2PProvisionDiscoveryReq P2PProvisionDiscoveryReq;
 } tDot11fProvisionDiscoveryReq;
 
-#define DOT11F_PROVISIONDISCOVERYREQ ( 36 )
+#define DOT11F_PROVISIONDISCOVERYREQ ( 37 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6752,7 +6905,7 @@
     tDot11fIEP2PWSCProvisionDiscoveryRes P2PWSCProvisionDiscoveryRes;
 } tDot11fProvisionDiscoveryRes;
 
-#define DOT11F_PROVISIONDISCOVERYRES ( 37 )
+#define DOT11F_PROVISIONDISCOVERYRES ( 38 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6774,7 +6927,7 @@
     tDot11fIEMeasurementReport MeasurementReport[4];
 } tDot11fRadioMeasurementReport;
 
-#define DOT11F_RADIOMEASUREMENTREPORT ( 38 )
+#define DOT11F_RADIOMEASUREMENTREPORT ( 39 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6797,7 +6950,7 @@
     tDot11fIEMeasurementRequest MeasurementRequest[2];
 } tDot11fRadioMeasurementRequest;
 
-#define DOT11F_RADIOMEASUREMENTREQUEST ( 39 )
+#define DOT11F_RADIOMEASUREMENTREQUEST ( 40 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6843,10 +6996,11 @@
     tDot11fIEP2PIEOpaque        P2PIEOpaque;
     tDot11fIEWFDIEOpaque        WFDIEOpaque;
     tDot11fIEVHTCaps            VHTCaps;
+    tDot11fIEExtCap             ExtCap;
     tDot11fIEOperatingMode      OperatingMode;
 } tDot11fReAssocRequest;
 
-#define DOT11F_REASSOCREQUEST ( 40 )
+#define DOT11F_REASSOCREQUEST ( 41 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6890,9 +7044,10 @@
     tDot11fIEP2PAssocRes        P2PAssocRes;
     tDot11fIEVHTCaps            VHTCaps;
     tDot11fIEVHTOperation       VHTOperation;
+    tDot11fIEExtCap             ExtCap;
 } tDot11fReAssocResponse;
 
-#define DOT11F_REASSOCRESPONSE ( 41 )
+#define DOT11F_REASSOCRESPONSE ( 42 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6912,7 +7067,7 @@
     tDot11fFfSMPowerModeSet SMPowerModeSet;
 } tDot11fSMPowerSave;
 
-#define DOT11F_SMPOWERSAVE ( 42 )
+#define DOT11F_SMPOWERSAVE ( 43 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6933,7 +7088,7 @@
     tDot11fIETPCReport   TPCReport;
 } tDot11fTPCReport;
 
-#define DOT11F_TPCREPORT ( 43 )
+#define DOT11F_TPCREPORT ( 44 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6954,7 +7109,7 @@
     tDot11fIETPCRequest  TPCRequest;
 } tDot11fTPCRequest;
 
-#define DOT11F_TPCREQUEST ( 44 )
+#define DOT11F_TPCREQUEST ( 45 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -6977,7 +7132,7 @@
     tDot11fIECCXTrafStrmRateSet CCXTrafStrmRateSet;
 } tDot11fWMMAddTSRequest;
 
-#define DOT11F_WMMADDTSREQUEST ( 45 )
+#define DOT11F_WMMADDTSREQUEST ( 46 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -7000,7 +7155,7 @@
     tDot11fIECCXTrafStrmMet CCXTrafStrmMet;
 } tDot11fWMMAddTSResponse;
 
-#define DOT11F_WMMADDTSRESPONSE ( 46 )
+#define DOT11F_WMMADDTSRESPONSE ( 47 )
 
 #ifdef __cplusplus
 extern "C" {
@@ -7022,7 +7177,7 @@
     tDot11fIEWMMTSPEC    WMMTSPEC;
 } tDot11fWMMDelTS;
 
-#define DOT11F_WMMDELTS ( 47 )
+#define DOT11F_WMMDELTS ( 48 )
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/CORE/MAC/src/include/parserApi.h b/CORE/MAC/src/include/parserApi.h
index 29dd5ac..3734887 100644
--- a/CORE/MAC/src/include/parserApi.h
+++ b/CORE/MAC/src/include/parserApi.h
@@ -128,6 +128,7 @@
     tDot11fIEVHTCaps          VHTCaps;
     tDot11fIEVHTOperation     VHTOperation;
     tDot11fIEVHTExtBssLoad    VHTExtBssLoad;
+    tDot11fIEOperatingMode    OperatingMode;
 #endif
 
 } tSirProbeRespBeacon, *tpSirProbeRespBeacon;
@@ -875,4 +876,9 @@
 tSirRetStatus
 PopulateDot11fVHTExtBssLoad(tpAniSirGlobal  pMac, tDot11fIEVHTExtBssLoad   *pDot11f);
 
+tSirRetStatus
+PopulateDot11fExtCap(tpAniSirGlobal pMac, tDot11fIEExtCap * pDot11f);
+
+tSirRetStatus
+PopulateDot11fOperatingMode(tpAniSirGlobal pMac, tDot11fIEOperatingMode *pDot11f, tpPESession psessionEntry );
 #endif
diff --git a/CORE/MAC/src/include/sirParams.h b/CORE/MAC/src/include/sirParams.h
index 8c73bdc..badcc3e 100644
--- a/CORE/MAC/src/include/sirParams.h
+++ b/CORE/MAC/src/include/sirParams.h
@@ -72,6 +72,8 @@
    MCC	   = 0,
    P2P	   = 1,
    DOT11AC = 2,
+   SLM_SESSIONIZATION = 3,
+   DOT11AC_OPMODE = 4,
    MAX_FEATURE_SUPPORTED = 128,
 } placeHolderInCapBitmap;
 
@@ -536,6 +538,10 @@
 
 #define SIR_HAL_SET_TM_LEVEL_REQ           SIR_HAL_ITC_MSG_TYPES_BEGIN + 187
 
+#ifdef WLAN_FEATURE_11AC
+#define SIR_HAL_UPDATE_OP_MODE             SIR_HAL_ITC_MSG_TYPES_BEGIN + 188
+#endif
+
 #define SIR_HAL_MSG_TYPES_END              SIR_HAL_ITC_MSG_TYPES_BEGIN + 0xFF
 // CFG message types
 #define SIR_CFG_MSG_TYPES_BEGIN        (SIR_CFG_MODULE_ID << 8)
diff --git a/CORE/MAC/src/pe/include/limGlobal.h b/CORE/MAC/src/pe/include/limGlobal.h
index 89d8116..89b1865 100644
--- a/CORE/MAC/src/pe/include/limGlobal.h
+++ b/CORE/MAC/src/pe/include/limGlobal.h
@@ -646,6 +646,16 @@
     tANI_U8                  switchMode;
 } tLimChannelSwitchInfo, *tpLimChannelSwitchInfo;
 
+#ifdef WLAN_FEATURE_11AC
+typedef struct sLimOperatingModeInfo
+{
+    tANI_U8        present;
+    tANI_U8        chanWidth: 2;
+    tANI_U8         reserved: 2;
+    tANI_U8            rxNSS: 3;
+    tANI_U8        rxNSSType: 1;
+}tLimOperatingModeInfo, *tpLimOperatingModeInfo;
+#endif
 // Enums used when stopping the Tx.
 typedef enum eLimQuietTxMode
 {
diff --git a/CORE/MAC/src/pe/include/limSession.h b/CORE/MAC/src/pe/include/limSession.h
index f0058ec..cfb4652 100644
--- a/CORE/MAC/src/pe/include/limSession.h
+++ b/CORE/MAC/src/pe/include/limSession.h
@@ -302,6 +302,7 @@
 #ifdef WLAN_FEATURE_11AC
     tANI_U8 vhtCapability;
     tANI_U8 vhtTxChannelWidthSet;
+    tLimOperatingModeInfo  gLimOperatingMode;
 #endif
     tANI_U8            spectrumMgtEnabled;
     /* *********************11H related*****************************/
diff --git a/CORE/MAC/src/pe/lim/limLogDump.c b/CORE/MAC/src/pe/lim/limLogDump.c
index 7484537..f82bce9 100644
--- a/CORE/MAC/src/pe/lim/limLogDump.c
+++ b/CORE/MAC/src/pe/lim/limLogDump.c
@@ -2336,6 +2336,34 @@
   return p;
 }
 
+#ifdef WLAN_FEATURE_11AC
+static char *
+dump_lim_vht_opmode_notification(tpAniSirGlobal pMac, tANI_U32 arg1,tANI_U32 arg2,tANI_U32 arg3, tANI_U32 arg4, char *p)
+{
+    tANI_U8 peer[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
+    tANI_U8 nMode = arg2;
+    tpPESession psessionEntry;
+
+    if((psessionEntry = peFindSessionBySessionId(pMac,(tANI_U8)arg1) )== NULL)
+    {
+        p += log_sprintf( pMac,
+            p,"Session does not exist usage: 366 <0> sessionid channel \n");
+        return p;
+    }
+    
+    limSendVHTOpmodeNotificationFrame(pMac, peer, nMode,psessionEntry);
+    
+    psessionEntry->gLimOperatingMode.present = 1;
+    psessionEntry->gLimOperatingMode.chanWidth = nMode;
+    psessionEntry->gLimOperatingMode.rxNSS   = 0;
+    psessionEntry->gLimOperatingMode.rxNSSType    = 0;
+
+    schSetFixedBeaconFields(pMac, psessionEntry);
+    limSendBeaconInd(pMac, psessionEntry); 
+
+    return p;
+}
+#endif
 static char *
 dump_lim_cancel_channel_switch_announcement( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p)
 {
@@ -2424,7 +2452,9 @@
 #endif
     {364,   "PE.LIM: Send a channel switch announcement",            dump_lim_channel_switch_announcement},
     {365,   "PE.LIM: Cancel channel switch announcement",            dump_lim_cancel_channel_switch_announcement},
-
+#ifdef WLAN_FEATURE_11AC
+    {366,   "PE.LIM: Send a VHT OPMode Action Frame",                dump_lim_vht_opmode_notification},
+#endif
 };
 
 
diff --git a/CORE/MAC/src/pe/lim/limProcessActionFrame.c b/CORE/MAC/src/pe/lim/limProcessActionFrame.c
index 73d3729..89e3f75 100644
--- a/CORE/MAC/src/pe/lim/limProcessActionFrame.c
+++ b/CORE/MAC/src/pe/lim/limProcessActionFrame.c
@@ -347,6 +347,95 @@
 } /*** end limProcessChannelSwitchActionFrame() ***/
 
 
+#ifdef WLAN_FEATURE_11AC
+static void
+__limProcessOperatingModeActionFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo,tpPESession psessionEntry)
+{
+
+    tpSirMacMgmtHdr         pHdr;
+    tANI_U8                 *pBody;
+    tDot11fOperatingMode    *pOperatingModeframe;
+    tANI_U32                frameLen;
+    tANI_U32                nStatus;
+    eHalStatus              status;
+    tpDphHashNode           pSta;
+    tANI_U16                aid;
+    tANI_U8  operMode;
+
+    pHdr = WDA_GET_RX_MAC_HEADER(pRxPacketInfo);
+    pBody = WDA_GET_RX_MPDU_DATA(pRxPacketInfo);
+    frameLen = WDA_GET_RX_PAYLOAD_LEN(pRxPacketInfo);
+
+    PELOG3(limLog(pMac, LOG3, FL("Received Operating Mode action frame\n"));)
+    status = palAllocateMemory( pMac->hHdd, (void **)&pOperatingModeframe, sizeof(*pOperatingModeframe));
+    if (eHAL_STATUS_SUCCESS != status)
+    {
+        limLog(pMac, LOGE,
+            FL("palAllocateMemory failed, status = %d \n"), status);
+        return;
+    }
+
+    /* Unpack channel switch frame */
+    nStatus = dot11fUnpackOperatingMode(pMac, pBody, frameLen, pOperatingModeframe);
+
+    if( DOT11F_FAILED( nStatus ))
+    {
+        limLog( pMac, LOGE,
+            FL( "Failed to unpack and parse an 11h-CHANSW Request (0x%08x, %d bytes):\n"),
+            nStatus,
+            frameLen);
+        palFreeMemory(pMac->hHdd, pOperatingModeframe);
+        return;
+    }
+    else if(DOT11F_WARNED( nStatus ))
+    {
+        limLog( pMac, LOGW,
+            FL( "There were warnings while unpacking an 11h-CHANSW Request (0x%08x, %d bytes):\n"),
+            nStatus,
+            frameLen);
+    }
+    pSta = dphLookupHashEntry(pMac, pHdr->sa, &aid, &psessionEntry->dph.dphHashTable);
+    
+    operMode = pSta->vhtSupportedChannelWidthSet ? eHT_CHANNEL_WIDTH_80MHZ : pSta->htSupportedChannelWidthSet ? eHT_CHANNEL_WIDTH_40MHZ: eHT_CHANNEL_WIDTH_20MHZ;
+    if( operMode != pOperatingModeframe->OperatingMode.chanWidth)
+    {
+        limLog(pMac, LOGE, 
+            FL(" recevied Chanwidth %d, staIdx = %d\n"),
+            (pOperatingModeframe->OperatingMode.chanWidth ),
+            pSta->staIndex);
+
+        limLog(pMac, LOGE, 
+            FL(" MAC - %0x:%0x:%0x:%0x:%0x:%0x\n"),
+            pHdr->sa[0],
+            pHdr->sa[1],
+            pHdr->sa[2],
+            pHdr->sa[3],
+            pHdr->sa[4],
+            pHdr->sa[5]);
+	
+        if(pOperatingModeframe->OperatingMode.chanWidth == eHT_CHANNEL_WIDTH_80MHZ)
+        {
+            pSta->vhtSupportedChannelWidthSet = WNI_CFG_VHT_CHANNEL_WIDTH_80MHZ;
+            pSta->htSupportedChannelWidthSet = eHT_CHANNEL_WIDTH_40MHZ;
+        } 
+        else if(pOperatingModeframe->OperatingMode.chanWidth == eHT_CHANNEL_WIDTH_40MHZ)
+        {
+            pSta->vhtSupportedChannelWidthSet = WNI_CFG_VHT_CHANNEL_WIDTH_20_40MHZ;
+            pSta->htSupportedChannelWidthSet = eHT_CHANNEL_WIDTH_40MHZ;
+        }
+        else if(pOperatingModeframe->OperatingMode.chanWidth == eHT_CHANNEL_WIDTH_20MHZ)
+        {
+            pSta->vhtSupportedChannelWidthSet = WNI_CFG_VHT_CHANNEL_WIDTH_20_40MHZ;
+            pSta->htSupportedChannelWidthSet = eHT_CHANNEL_WIDTH_20MHZ;
+        }
+        limCheckVHTOpModeChange( pMac, psessionEntry, 
+                                 (pOperatingModeframe->OperatingMode.chanWidth), pSta->staIndex);\
+    }
+    palFreeMemory(pMac->hHdd, pOperatingModeframe);
+    return;
+}
+#endif
+
 static void
 __limProcessAddTsReq(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo,tpPESession psessionEntry)
 {
@@ -2033,7 +2122,22 @@
         break;
      }
 #endif
-
+#ifdef WLAN_FEATURE_11AC
+    case SIR_MAC_ACTION_VHT:
+    {
+        if (psessionEntry->vhtCapability)
+        {
+            switch (pActionHdr->actionID)
+            {
+                case  SIR_MAC_VHT_OPMODE_NOTIFICATION:
+                    __limProcessOperatingModeActionFrame(pMac,pRxPacketInfo,psessionEntry);                
+                break;
+                default:
+                break;
+            }
+        }
+    }		
+#endif
     default:
        PELOGE(limLog(pMac, LOGE, FL("Action category %d not handled\n"), pActionHdr->category);)
        break;
diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
index 3366b21..ba42983 100644
--- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c
+++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
@@ -639,6 +639,7 @@
         PopulateDot11fVHTOperation( pMac, &frm.VHTOperation );
         // we do not support multi users yet
         //PopulateDot11fVHTExtBssLoad( pMac, &frm.VHTExtBssLoad );
+        PopulateDot11fExtCap( pMac, &frm.ExtCap);
     }
 #endif
 
@@ -1577,6 +1578,7 @@
             limLog( pMac, LOGW, FL("Populate VHT IEs in Assoc Response\n"));
             PopulateDot11fVHTCaps( pMac, &frm.VHTCaps );
             PopulateDot11fVHTOperation( pMac, &frm.VHTOperation);
+            PopulateDot11fExtCap( pMac, &frm.ExtCap);
         }
 #endif
 
@@ -2415,6 +2417,7 @@
     {
         limLog( pMac, LOGW, FL("Populate VHT IEs in Assoc Request\n"));
         PopulateDot11fVHTCaps( pMac, &frm.VHTCaps );
+        PopulateDot11fExtCap( pMac, &frm.ExtCap);
     }
 #endif
 
@@ -3156,6 +3159,7 @@
     {
         limLog( pMac, LOGW, FL("Populate VHT IEs in Re-Assoc Request\n"));
         PopulateDot11fVHTCaps( pMac, &frm.VHTCaps );
+        PopulateDot11fExtCap( pMac, &frm.ExtCap);
     }
 #endif
 
@@ -4388,6 +4392,122 @@
 #endif // (ANI_PRODUCT_TYPE_AP)
 
 
+#ifdef WLAN_FEATURE_11AC    
+tSirRetStatus
+limSendVHTOpmodeNotificationFrame(tpAniSirGlobal pMac,
+                              tSirMacAddr    peer,
+                              tANI_U8        nMode,
+                              tpPESession    psessionEntry )
+{
+    tDot11fOperatingMode  frm;
+    tANI_U8                  *pFrame;
+    tSirRetStatus        nSirStatus;
+    tpSirMacMgmtHdr      pMacHdr;
+    tANI_U32                  nBytes, nPayload = 0, nStatus;//, nCfg;
+    void               *pPacket;
+    eHalStatus          halstatus;
+    tANI_U8 txFlag = 0;
+    
+    palZeroMemory( pMac->hHdd, ( tANI_U8* )&frm, sizeof( frm ) );
+
+    frm.Category.category     = SIR_MAC_ACTION_VHT;
+    frm.Action.action         = SIR_MAC_VHT_OPMODE_NOTIFICATION;
+    frm.OperatingMode.chanWidth    = nMode;
+    frm.OperatingMode.rxNSS   = 0;
+    frm.OperatingMode.rxNSSType    = 0;
+
+    nStatus = dot11fGetPackedOperatingModeSize( pMac, &frm, &nPayload );
+    if ( DOT11F_FAILED( nStatus ) )
+    {
+        limLog( pMac, LOGP, FL("Failed to calculate the packed size f"
+                               "or a Operating Mode (0x%08x).\n"),
+                nStatus );
+        // We'll fall back on the worst case scenario:
+        nPayload = sizeof( tDot11fOperatingMode);
+    }
+    else if ( DOT11F_WARNED( nStatus ) )
+    {
+        limLog( pMac, LOGW, FL("There were warnings while calculating"
+                               "the packed size for a Operating Mode (0x"
+                               "%08x).\n"), nStatus );
+    }
+
+    nBytes = nPayload + sizeof( tSirMacMgmtHdr );
+
+    halstatus = palPktAlloc( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( tANI_U16 )nBytes, ( void** ) &pFrame, ( void** ) &pPacket );
+    if ( ! HAL_STATUS_SUCCESS ( halstatus ) )
+    {
+        limLog( pMac, LOGP, FL("Failed to allocate %d bytes for a Operating Mode"
+                               " Report.\n"), nBytes );
+        return eSIR_FAILURE;
+    }
+
+    // Paranoia:
+    palZeroMemory( pMac->hHdd, pFrame, nBytes );
+
+
+    // Next, we fill out the buffer descriptor:
+    if(psessionEntry->pePersona == VOS_STA_SAP_MODE) {
+        nSirStatus = limPopulateMacHeader( pMac, pFrame, SIR_MAC_MGMT_FRAME,
+                                           SIR_MAC_MGMT_ACTION, peer, psessionEntry->selfMacAddr);
+    } else
+        nSirStatus = limPopulateMacHeader( pMac, pFrame, SIR_MAC_MGMT_FRAME,
+                                           SIR_MAC_MGMT_ACTION, psessionEntry->bssId, psessionEntry->selfMacAddr);
+    pMacHdr = ( tpSirMacMgmtHdr ) pFrame;
+    palCopyMemory( pMac->hHdd,
+                   (tANI_U8 *) pMacHdr->bssId,
+                   (tANI_U8 *) psessionEntry->bssId,
+                   sizeof( tSirMacAddr ));
+    if ( eSIR_SUCCESS != nSirStatus )
+    {
+        limLog( pMac, LOGE, FL("Failed to populate the buffer descrip"
+                               "tor for a Operating Mode (%d).\n"),
+                nSirStatus );
+        palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( void* ) pFrame, ( void* ) pPacket );
+        return eSIR_FAILURE;    // just allocated...
+    }
+    nStatus = dot11fPackOperatingMode( pMac, &frm, pFrame +
+                                       sizeof(tSirMacMgmtHdr),
+                                       nPayload, &nPayload );
+    if ( DOT11F_FAILED( nStatus ) )
+    {
+        limLog( pMac, LOGE, FL("Failed to pack a Operating Mode (0x%08x).\n"),
+                nStatus );
+        palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( void* ) pFrame, ( void* ) pPacket );
+        return eSIR_FAILURE;    // allocated!
+    }
+    else if ( DOT11F_WARNED( nStatus ) )
+    {
+        limLog( pMac, LOGW, FL("There were warnings while packing a Operating Mode"
+                               " (0x%08x).\n") );
+    }
+    if( ( SIR_BAND_5_GHZ == limGetRFBand(psessionEntry->currentOperChannel))
+#ifdef WLAN_FEATURE_P2P
+       || ( psessionEntry->pePersona == VOS_P2P_CLIENT_MODE ) ||
+         ( psessionEntry->pePersona == VOS_P2P_GO_MODE)
+#endif
+         )
+    {
+        txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME;
+    }
+    halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes,
+                            HAL_TXRX_FRM_802_11_MGMT,
+                            ANI_TXDIR_TODS,
+                            7,//SMAC_SWBD_TX_TID_MGMT_HIGH,
+                            limTxComplete, pFrame, txFlag );
+    if ( ! HAL_STATUS_SUCCESS ( halstatus ) )
+    {
+        limLog( pMac, LOGE, FL("Failed to send a Channel Switch "
+                               "(%X)!\n"),
+                nSirStatus );
+        //Pkt will be freed up by the callback
+        return eSIR_FAILURE;
+    }
+
+    return eSIR_SUCCESS;
+}
+#endif
+
 /**
  * \brief Send an ADDBA Req Action Frame to peer
  *
diff --git a/CORE/MAC/src/pe/lim/limSendMessages.c b/CORE/MAC/src/pe/lim/limSendMessages.c
index 8596da6..f1cbc72 100644
--- a/CORE/MAC/src/pe/lim/limSendMessages.c
+++ b/CORE/MAC/src/pe/lim/limSendMessages.c
@@ -61,6 +61,9 @@
 #if defined WLAN_FEATURE_VOWIFI
    ,{SIR_MAC_PWR_CONSTRAINT_EID,  0, {0, 0, 0, 0}}
 #endif
+#ifdef WLAN_FEATURE_11AC
+   ,{SIR_MAC_VHT_OPMODE_EID,     0,  {0, 0, 0, 0}}
+#endif
 };
 
 /**
@@ -658,3 +661,39 @@
     }
     return retCode;
 }
+
+#ifdef WLAN_FEATURE_11AC
+tSirRetStatus limSendModeUpdate(tpAniSirGlobal pMac, 
+                                tUpdateVHTOpMode *pTempParam,
+                                tpPESession  psessionEntry )
+{
+    tUpdateVHTOpMode *pVhtOpMode = NULL;
+    tSirRetStatus   retCode = eSIR_SUCCESS;
+    tSirMsgQ msgQ;
+
+    if( eHAL_STATUS_SUCCESS != palAllocateMemory( pMac->hHdd,
+          (void **) &pVhtOpMode, sizeof(tUpdateVHTOpMode)))
+    {
+        limLog( pMac, LOGP,
+            FL( "Unable to PAL allocate memory during Update Op Mode\n" ));
+        return eSIR_MEM_ALLOC_FAILED;
+    }
+    palCopyMemory( pMac->hHdd, (tANI_U8 *)pVhtOpMode, pTempParam, sizeof(tUpdateVHTOpMode));
+    msgQ.type =  WDA_UPDATE_OP_MODE;
+    msgQ.reserved = 0;
+    msgQ.bodyptr = pVhtOpMode;
+    msgQ.bodyval = 0;
+    PELOG3(limLog( pMac, LOG3,
+                FL( "Sending WDA_UPDATE_OP_MODE" ));)
+    MTRACE(macTraceMsgTx(pMac, psessionEntry->peSessionId, msgQ.type));
+    if( eSIR_SUCCESS != (retCode = wdaPostCtrlMsg( pMac, &msgQ )))
+    {
+        palFreeMemory(pMac->hHdd, pVhtOpMode);
+        limLog( pMac, LOGP,
+                    FL("Posting  WDA_UPDATE_OP_MODE to WDA failed, reason=%X\n"),
+                    retCode );
+    }
+
+    return retCode;
+}
+#endif 
diff --git a/CORE/MAC/src/pe/lim/limSendMessages.h b/CORE/MAC/src/pe/lim/limSendMessages.h
index 4b402f5..4bf8977 100644
--- a/CORE/MAC/src/pe/lim/limSendMessages.h
+++ b/CORE/MAC/src/pe/lim/limSendMessages.h
@@ -43,6 +43,11 @@
                                   tpUpdateBeaconParams pUpdatedBcnParams,
                                   tpPESession  psessionEntry );
 //tSirRetStatus limSendBeaconParams(tpAniSirGlobal pMac, tpUpdateBeaconParams pUpdatedBcnParams);
+#ifdef WLAN_FEATURE_11AC
+tSirRetStatus limSendModeUpdate(tpAniSirGlobal pMac, 
+                                tUpdateVHTOpMode *tempParam,
+                                tpPESession  psessionEntry );
+#endif
 #if defined WLAN_FEATURE_VOWIFI  
 tSirRetStatus limSendSwitchChnlParams(tpAniSirGlobal pMac, tANI_U8 chnlNumber, 
                                       ePhyChanBondState secondaryChnlOffset, 
diff --git a/CORE/MAC/src/pe/lim/limTypes.h b/CORE/MAC/src/pe/lim/limTypes.h
index 388e7d7..7dc1965 100644
--- a/CORE/MAC/src/pe/lim/limTypes.h
+++ b/CORE/MAC/src/pe/lim/limTypes.h
@@ -734,6 +734,10 @@
 tSirRetStatus limSendChannelSwitchMgmtFrame(tpAniSirGlobal, tSirMacAddr, tANI_U8, tANI_U8, tANI_U8, tpPESession);
 #endif
 
+#ifdef WLAN_FEATURE_11AC
+tSirRetStatus limSendVHTOpmodeNotificationFrame(tpAniSirGlobal pMac,tSirMacAddr peer,tANI_U8 nMode, tpPESession  psessionEntry );
+#endif
+
 #if defined WLAN_FEATURE_VOWIFI
 tSirRetStatus limSendNeighborReportRequestFrame(tpAniSirGlobal, tpSirMacNeighborReportReq, tSirMacAddr, tpPESession);
 tSirRetStatus limSendLinkReportActionFrame(tpAniSirGlobal, tpSirMacLinkReport, tSirMacAddr, tpPESession ); 
diff --git a/CORE/MAC/src/pe/lim/limUtils.c b/CORE/MAC/src/pe/lim/limUtils.c
index 7120bcf..859b379 100644
--- a/CORE/MAC/src/pe/lim/limUtils.c
+++ b/CORE/MAC/src/pe/lim/limUtils.c
@@ -7915,3 +7915,17 @@
         return eANI_BOOLEAN_FALSE;
     }
 }
+	    
+#ifdef WLAN_FEATURE_11AC
+tANI_BOOLEAN limCheckVHTOpModeChange( tpAniSirGlobal pMac, tpPESession psessionEntry, tANI_U8 chanWidth, tANI_U8 staId)
+{
+    tUpdateVHTOpMode tempParam;
+    
+    tempParam.opMode = chanWidth;
+    tempParam.staId  = staId;
+
+    limSendModeUpdate( pMac, &tempParam, psessionEntry );
+
+    return eANI_BOOLEAN_TRUE;
+}
+#endif 
diff --git a/CORE/MAC/src/pe/lim/limUtils.h b/CORE/MAC/src/pe/lim/limUtils.h
index 3f1687d..1cb432d 100644
--- a/CORE/MAC/src/pe/lim/limUtils.h
+++ b/CORE/MAC/src/pe/lim/limUtils.h
@@ -397,6 +397,11 @@
 tANI_BOOLEAN limIsconnectedOnDFSChannel(tANI_U8 currentChannel);
 tANI_U8 limGetCurrentOperatingChannel(tpAniSirGlobal pMac);
 
+#ifdef WLAN_FEATURE_11AC
+tANI_BOOLEAN limCheckVHTOpModeChange( tpAniSirGlobal pMac, 
+		                      tpPESession psessionEntry, tANI_U8 chanWidth, tANI_U8 staId);
+#endif
+
 #ifdef FEATURE_WLAN_DIAG_SUPPORT
 
 typedef enum
diff --git a/CORE/MAC/src/pe/sch/schBeaconGen.c b/CORE/MAC/src/pe/sch/schBeaconGen.c
index 77858e6..9385f16 100644
--- a/CORE/MAC/src/pe/sch/schBeaconGen.c
+++ b/CORE/MAC/src/pe/sch/schBeaconGen.c
@@ -351,6 +351,9 @@
         PopulateDot11fVHTOperation( pMac, &bcn2.VHTOperation);
         // we do not support multi users yet
         //PopulateDot11fVHTExtBssLoad( pMac, &bcn2.VHTExtBssLoad);
+        PopulateDot11fExtCap( pMac, &bcn2.ExtCap);
+        if(psessionEntry->gLimOperatingMode.present)
+            PopulateDot11fOperatingMode( pMac, &bcn2.OperatingMode, psessionEntry );
     }
 #endif
 
diff --git a/CORE/MAC/src/pe/sch/schBeaconProcess.c b/CORE/MAC/src/pe/sch/schBeaconProcess.c
index 3997d95..d6d56b7 100644
--- a/CORE/MAC/src/pe/sch/schBeaconProcess.c
+++ b/CORE/MAC/src/pe/sch/schBeaconProcess.c
@@ -353,6 +353,11 @@
     tUpdateBeaconParams beaconParams;
     tANI_U8 sendProbeReq = FALSE;
     tpDphHashNode pStaDs = NULL;
+#ifdef WLAN_FEATURE_11AC
+    tpSirMacMgmtHdr    pMh = WDA_GET_RX_MAC_HEADER(pRxPacketInfo);
+    tANI_U16  aid;
+    tANI_U8  operMode;
+#endif
 
 
     beaconParams.paramChangeBitmap = 0;
@@ -505,6 +510,48 @@
     }
 #endif
 
+#ifdef WLAN_FEATURE_11AC
+    if ( (psessionEntry->limSystemRole == eLIM_STA_ROLE) ||(psessionEntry->limSystemRole == eLIM_BT_AMP_STA_ROLE) || (psessionEntry->limSystemRole == eLIM_STA_IN_IBSS_ROLE) ) 
+    {
+        // check for VHT capability
+        if(psessionEntry->vhtCapability && pBeacon->OperatingMode.present)
+        {
+            pStaDs = dphLookupHashEntry(pMac, pMh->sa, &aid, &psessionEntry->dph.dphHashTable);
+            operMode = pStaDs->vhtSupportedChannelWidthSet ? eHT_CHANNEL_WIDTH_80MHZ : pStaDs->htSupportedChannelWidthSet ? eHT_CHANNEL_WIDTH_40MHZ: eHT_CHANNEL_WIDTH_20MHZ;
+            if( operMode != pBeacon->OperatingMode.chanWidth)
+            {
+                PELOG1(limLog(pMac, LOG1, FL(" recevied Chanwidth %d, staIdx = %d\n"),
+                                          pBeacon->OperatingMode.chanWidth, 
+                                          pStaDs->staIndex);)
+                PELOG1(limLog(pMac, LOG1, FL(" MAC - %0x:%0x:%0x:%0x:%0x:%0x\n"),
+                                          pMh->sa[0],
+                                          pMh->sa[1],
+                                          pMh->sa[2],
+                                          pMh->sa[3],
+                                          pMh->sa[4],
+                                          pMh->sa[5]);)
+                
+                if(pBeacon->OperatingMode.chanWidth == eHT_CHANNEL_WIDTH_80MHZ)
+                {
+                    pStaDs->vhtSupportedChannelWidthSet =  WNI_CFG_VHT_CHANNEL_WIDTH_80MHZ;
+                    pStaDs->htSupportedChannelWidthSet = eHT_CHANNEL_WIDTH_40MHZ ;
+                }
+                else if(pBeacon->OperatingMode.chanWidth == eHT_CHANNEL_WIDTH_40MHZ)
+                {
+                    pStaDs->vhtSupportedChannelWidthSet = WNI_CFG_VHT_CHANNEL_WIDTH_20_40MHZ;
+                    pStaDs->htSupportedChannelWidthSet = eHT_CHANNEL_WIDTH_40MHZ;
+                }
+                else if(pBeacon->OperatingMode.chanWidth == eHT_CHANNEL_WIDTH_20MHZ)
+                {
+                    pStaDs->vhtSupportedChannelWidthSet = WNI_CFG_VHT_CHANNEL_WIDTH_20_40MHZ;
+                    pStaDs->htSupportedChannelWidthSet = eHT_CHANNEL_WIDTH_20MHZ;
+                }
+                limCheckVHTOpModeChange(pMac, psessionEntry, pBeacon->OperatingMode.chanWidth, pStaDs->staIndex); 
+            }
+        }
+    }
+#endif
+
 #if defined FEATURE_WLAN_CCX
         if( psessionEntry->isCCXconnection )
         {
diff --git a/CORE/SYS/legacy/src/utils/src/dot11f.c b/CORE/SYS/legacy/src/utils/src/dot11f.c
index 921fd96..c3e1f56 100644
--- a/CORE/SYS/legacy/src/utils/src/dot11f.c
+++ b/CORE/SYS/legacy/src/utils/src/dot11f.c
@@ -33,8 +33,7 @@
   *
   *
   * This file was automatically generated by 'framesc'
-  * Fri Sep  7 17:45:43 2012 from the following file(s):
-
+  * Fri Aug 17 13:25:06 2012 from the following file(s):
   *
   * dot11f.frms
   * 
@@ -788,6 +787,21 @@
 
 #define SigFfNumOfRepetitions ( 0x0011 )
 
+void dot11fUnpackFfOperatingMode(tpAniSirGlobal pCtx,
+                                 tANI_U8 *pBuf,
+                                 tDot11fFfOperatingMode *pDst)
+{
+    tANI_U8 tmp4__;
+    tmp4__ = *pBuf;
+    pDst->chanWidth = tmp4__ >> 0 & 0x3;
+    pDst->reserved = tmp4__ >> 2 & 0x3;
+    pDst->rxNSS = tmp4__ >> 4 & 0x7;
+    pDst->rxNSSType = tmp4__ >> 7 & 0x1;
+    (void)pCtx;
+} /* End dot11fUnpackFfOperatingMode. */
+
+#define SigFfOperatingMode ( 0x0012 )
+
 void dot11fUnpackFfP2POUI(tpAniSirGlobal pCtx,
                           tANI_U8 *pBuf,
                           tDot11fFfP2POUI *pDst)
@@ -796,7 +810,7 @@
     (void)pCtx;
 } /* End dot11fUnpackFfP2POUI. */
 
-#define SigFfP2POUI ( 0x0012 )
+#define SigFfP2POUI ( 0x0013 )
 
 void dot11fUnpackFfP2POUISubType(tpAniSirGlobal pCtx,
                                  tANI_U8 *pBuf,
@@ -806,7 +820,7 @@
     (void)pCtx;
 } /* End dot11fUnpackFfP2POUISubType. */
 
-#define SigFfP2POUISubType ( 0x0013 )
+#define SigFfP2POUISubType ( 0x0014 )
 
 void dot11fUnpackFfRCPI(tpAniSirGlobal pCtx,
                         tANI_U8 *pBuf,
@@ -816,7 +830,7 @@
     (void)pCtx;
 } /* End dot11fUnpackFfRCPI. */
 
-#define SigFfRCPI ( 0x0014 )
+#define SigFfRCPI ( 0x0015 )
 
 void dot11fUnpackFfRSNI(tpAniSirGlobal pCtx,
                         tANI_U8 *pBuf,
@@ -826,9 +840,9 @@
     (void)pCtx;
 } /* End dot11fUnpackFfRSNI. */
 
-#define SigFfRSNI ( 0x0015 )
+#define SigFfRSNI ( 0x0016 )
 
-#define SigFfReason ( 0x0016 )
+#define SigFfReason ( 0x0017 )
 
 void dot11fUnpackFfRxAntennaId(tpAniSirGlobal pCtx,
                                tANI_U8 *pBuf,
@@ -838,23 +852,23 @@
     (void)pCtx;
 } /* End dot11fUnpackFfRxAntennaId. */
 
-#define SigFfRxAntennaId ( 0x0017 )
+#define SigFfRxAntennaId ( 0x0018 )
 
 void dot11fUnpackFfSMPowerModeSet(tpAniSirGlobal pCtx,
                                   tANI_U8 *pBuf,
                                   tDot11fFfSMPowerModeSet *pDst)
 {
-    tANI_U8 tmp4__;
-    tmp4__ = *pBuf;
-    pDst->PowerSave_En = tmp4__ >> 0 & 0x1;
-    pDst->Mode = tmp4__ >> 1 & 0x1;
-    pDst->reserved = tmp4__ >> 2 & 0x3f;
+    tANI_U8 tmp5__;
+    tmp5__ = *pBuf;
+    pDst->PowerSave_En = tmp5__ >> 0 & 0x1;
+    pDst->Mode = tmp5__ >> 1 & 0x1;
+    pDst->reserved = tmp5__ >> 2 & 0x3f;
     (void)pCtx;
 } /* End dot11fUnpackFfSMPowerModeSet. */
 
-#define SigFfSMPowerModeSet ( 0x0018 )
+#define SigFfSMPowerModeSet ( 0x0019 )
 
-#define SigFfStatus ( 0x0019 )
+#define SigFfStatus ( 0x001a )
 
 void dot11fUnpackFfStatusCode(tpAniSirGlobal pCtx,
                               tANI_U8 *pBuf,
@@ -864,7 +878,7 @@
     (void)pCtx;
 } /* End dot11fUnpackFfStatusCode. */
 
-#define SigFfStatusCode ( 0x001a )
+#define SigFfStatusCode ( 0x001b )
 
 void dot11fUnpackFfTPCEleID(tpAniSirGlobal pCtx,
                             tANI_U8 *pBuf,
@@ -874,7 +888,7 @@
     (void)pCtx;
 } /* End dot11fUnpackFfTPCEleID. */
 
-#define SigFfTPCEleID ( 0x001b )
+#define SigFfTPCEleID ( 0x001c )
 
 void dot11fUnpackFfTPCEleLen(tpAniSirGlobal pCtx,
                              tANI_U8 *pBuf,
@@ -884,28 +898,28 @@
     (void)pCtx;
 } /* End dot11fUnpackFfTPCEleLen. */
 
-#define SigFfTPCEleLen ( 0x001c )
+#define SigFfTPCEleLen ( 0x001d )
 
 void dot11fUnpackFfTSInfo(tpAniSirGlobal pCtx,
                           tANI_U8 *pBuf,
                           tDot11fFfTSInfo *pDst)
 {
-    tANI_U32 tmp5__;
-    framesntohl(pCtx, &tmp5__, pBuf, 0);
-    pDst->traffic_type = tmp5__ >> 0 & 0x1;
-    pDst->tsid = tmp5__ >> 1 & 0xf;
-    pDst->direction = tmp5__ >> 5 & 0x3;
-    pDst->access_policy = tmp5__ >> 7 & 0x3;
-    pDst->aggregation = tmp5__ >> 9 & 0x1;
-    pDst->psb = tmp5__ >> 10 & 0x1;
-    pDst->user_priority = tmp5__ >> 11 & 0x7;
-    pDst->tsinfo_ack_pol = tmp5__ >> 14 & 0x3;
-    pDst->schedule = tmp5__ >> 16 & 0x1;
-    pDst->unused = tmp5__ >> 17 & 0x7fff;
+    tANI_U32 tmp6__;
+    framesntohl(pCtx, &tmp6__, pBuf, 0);
+    pDst->traffic_type = tmp6__ >> 0 & 0x1;
+    pDst->tsid = tmp6__ >> 1 & 0xf;
+    pDst->direction = tmp6__ >> 5 & 0x3;
+    pDst->access_policy = tmp6__ >> 7 & 0x3;
+    pDst->aggregation = tmp6__ >> 9 & 0x1;
+    pDst->psb = tmp6__ >> 10 & 0x1;
+    pDst->user_priority = tmp6__ >> 11 & 0x7;
+    pDst->tsinfo_ack_pol = tmp6__ >> 14 & 0x3;
+    pDst->schedule = tmp6__ >> 16 & 0x1;
+    pDst->unused = tmp6__ >> 17 & 0x7fff;
     (void)pCtx;
 } /* End dot11fUnpackFfTSInfo. */
 
-#define SigFfTSInfo ( 0x001d )
+#define SigFfTSInfo ( 0x001e )
 
 void dot11fUnpackFfTimeStamp(tpAniSirGlobal pCtx,
                              tANI_U8 *pBuf,
@@ -915,7 +929,7 @@
     (void)pCtx;
 } /* End dot11fUnpackFfTimeStamp. */
 
-#define SigFfTimeStamp ( 0x001e )
+#define SigFfTimeStamp ( 0x001f )
 
 void dot11fUnpackFfTxAntennaId(tpAniSirGlobal pCtx,
                                tANI_U8 *pBuf,
@@ -925,7 +939,7 @@
     (void)pCtx;
 } /* End dot11fUnpackFfTxAntennaId. */
 
-#define SigFfTxAntennaId ( 0x001f )
+#define SigFfTxAntennaId ( 0x0020 )
 
 void dot11fUnpackFfTxPower(tpAniSirGlobal pCtx,
                            tANI_U8 *pBuf,
@@ -935,7 +949,7 @@
     (void)pCtx;
 } /* End dot11fUnpackFfTxPower. */
 
-#define SigFfTxPower ( 0x0020 )
+#define SigFfTxPower ( 0x0021 )
 
 tANI_U32 dot11fUnpackTlvAuthorizedMACs(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U16 tlvlen, tDot11fTLVAuthorizedMACs *pDst)
 {
@@ -957,13 +971,13 @@
 tANI_U32 dot11fUnpackTlvVersion2(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U16 tlvlen, tDot11fTLVVersion2 *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp6__;
+    tANI_U8 tmp7__;
     pDst->present = 1;
-    tmp6__ = *pBuf;
+    tmp7__ = *pBuf;
     pBuf += 1;
     tlvlen -= 1;
-    pDst->minor = tmp6__ >> 0 & 0xf;
-    pDst->major = tmp6__ >> 4 & 0xf;
+    pDst->minor = tmp7__ >> 0 & 0xf;
+    pDst->major = tmp7__ >> 4 & 0xf;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackTlvVersion2. */
@@ -1463,13 +1477,13 @@
 tANI_U32 dot11fUnpackTlvVersion(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U16 tlvlen, tDot11fTLVVersion *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp7__;
+    tANI_U8 tmp8__;
     pDst->present = 1;
-    tmp7__ = *pBuf;
+    tmp8__ = *pBuf;
     pBuf += 1;
     tlvlen -= 1;
-    pDst->minor = tmp7__ >> 0 & 0xf;
-    pDst->major = tmp7__ >> 4 & 0xf;
+    pDst->minor = tmp8__ >> 0 & 0xf;
+    pDst->major = tmp8__ >> 4 & 0xf;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackTlvVersion. */
@@ -1551,15 +1565,15 @@
 tANI_U32 dot11fUnpackIeGTK(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEGTK *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U16 tmp8__;
+    tANI_U16 tmp9__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
-    framesntohs(pCtx, &tmp8__, pBuf, 0);
+    framesntohs(pCtx, &tmp9__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->keyId = tmp8__ >> 0 & 0x3;
-    pDst->reserved = tmp8__ >> 2 & 0x3feb;
+    pDst->keyId = tmp9__ >> 0 & 0x3;
+    pDst->reserved = tmp9__ >> 2 & 0x3feb;
     pDst->keyLength = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
@@ -1674,7 +1688,6 @@
 tANI_U32 dot11fUnpackIePropEDCAParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEPropEDCAParams *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp9__;
     tANI_U8 tmp10__;
     tANI_U8 tmp11__;
     tANI_U8 tmp12__;
@@ -1682,6 +1695,7 @@
     tANI_U8 tmp14__;
     tANI_U8 tmp15__;
     tANI_U8 tmp16__;
+    tANI_U8 tmp17__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
@@ -1691,63 +1705,63 @@
     pDst->reserved = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
-    tmp9__ = *pBuf;
-    pBuf += 1;
-    ielen -= 1;
-    pDst->acbe_aifsn = tmp9__ >> 0 & 0xf;
-    pDst->acbe_acm = tmp9__ >> 4 & 0x1;
-    pDst->acbe_aci = tmp9__ >> 5 & 0x3;
-    pDst->unused1 = tmp9__ >> 7 & 0x1;
     tmp10__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acbe_min = tmp10__ >> 0 & 0xf;
-    pDst->acbe_max = tmp10__ >> 4 & 0xf;
-    framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
-    pBuf += 2;
-    ielen -= (tANI_U8)2;
+    pDst->acbe_aifsn = tmp10__ >> 0 & 0xf;
+    pDst->acbe_acm = tmp10__ >> 4 & 0x1;
+    pDst->acbe_aci = tmp10__ >> 5 & 0x3;
+    pDst->unused1 = tmp10__ >> 7 & 0x1;
     tmp11__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acbk_aifsn = tmp11__ >> 0 & 0xf;
-    pDst->acbk_acm = tmp11__ >> 4 & 0x1;
-    pDst->acbk_aci = tmp11__ >> 5 & 0x3;
-    pDst->unused2 = tmp11__ >> 7 & 0x1;
+    pDst->acbe_min = tmp11__ >> 0 & 0xf;
+    pDst->acbe_max = tmp11__ >> 4 & 0xf;
+    framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
+    pBuf += 2;
+    ielen -= (tANI_U8)2;
     tmp12__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acbk_min = tmp12__ >> 0 & 0xf;
-    pDst->acbk_max = tmp12__ >> 4 & 0xf;
-    framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
-    pBuf += 2;
-    ielen -= (tANI_U8)2;
+    pDst->acbk_aifsn = tmp12__ >> 0 & 0xf;
+    pDst->acbk_acm = tmp12__ >> 4 & 0x1;
+    pDst->acbk_aci = tmp12__ >> 5 & 0x3;
+    pDst->unused2 = tmp12__ >> 7 & 0x1;
     tmp13__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvi_aifsn = tmp13__ >> 0 & 0xf;
-    pDst->acvi_acm = tmp13__ >> 4 & 0x1;
-    pDst->acvi_aci = tmp13__ >> 5 & 0x3;
-    pDst->unused3 = tmp13__ >> 7 & 0x1;
+    pDst->acbk_min = tmp13__ >> 0 & 0xf;
+    pDst->acbk_max = tmp13__ >> 4 & 0xf;
+    framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
+    pBuf += 2;
+    ielen -= (tANI_U8)2;
     tmp14__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvi_min = tmp14__ >> 0 & 0xf;
-    pDst->acvi_max = tmp14__ >> 4 & 0xf;
-    framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
-    pBuf += 2;
-    ielen -= (tANI_U8)2;
+    pDst->acvi_aifsn = tmp14__ >> 0 & 0xf;
+    pDst->acvi_acm = tmp14__ >> 4 & 0x1;
+    pDst->acvi_aci = tmp14__ >> 5 & 0x3;
+    pDst->unused3 = tmp14__ >> 7 & 0x1;
     tmp15__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvo_aifsn = tmp15__ >> 0 & 0xf;
-    pDst->acvo_acm = tmp15__ >> 4 & 0x1;
-    pDst->acvo_aci = tmp15__ >> 5 & 0x3;
-    pDst->unused4 = tmp15__ >> 7 & 0x1;
+    pDst->acvi_min = tmp15__ >> 0 & 0xf;
+    pDst->acvi_max = tmp15__ >> 4 & 0xf;
+    framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
+    pBuf += 2;
+    ielen -= (tANI_U8)2;
     tmp16__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvo_min = tmp16__ >> 0 & 0xf;
-    pDst->acvo_max = tmp16__ >> 4 & 0xf;
+    pDst->acvo_aifsn = tmp16__ >> 0 & 0xf;
+    pDst->acvo_acm = tmp16__ >> 4 & 0x1;
+    pDst->acvo_aci = tmp16__ >> 5 & 0x3;
+    pDst->unused4 = tmp16__ >> 7 & 0x1;
+    tmp17__ = *pBuf;
+    pBuf += 1;
+    ielen -= 1;
+    pDst->acvo_min = tmp17__ >> 0 & 0xf;
+    pDst->acvo_max = tmp17__ >> 4 & 0xf;
     framesntohs(pCtx, &pDst->acvo_txoplimit, pBuf, 0);
     (void)pCtx;
     return status;
@@ -1861,7 +1875,7 @@
 tANI_U32 dot11fUnpackIeTaurus(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETaurus *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U16 tmp17__;
+    tANI_U16 tmp18__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
@@ -1871,9 +1885,9 @@
     framesntohs(pCtx, &pDst->baPolicy, pBuf, 0);
     pBuf += 2;
     ielen -= (tANI_U8)2;
-    framesntohs(pCtx, &tmp17__, pBuf, 0);
-    pDst->baBufferSize = tmp17__ >> 0 & 0xfff;
-    pDst->rsvd = tmp17__ >> 12 & 0xf;
+    framesntohs(pCtx, &tmp18__, pBuf, 0);
+    pDst->baBufferSize = tmp18__ >> 0 & 0xfff;
+    pDst->rsvd = tmp18__ >> 12 & 0xf;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeTaurus. */
@@ -2104,56 +2118,56 @@
 tANI_U32 dot11fUnpackIeRRMEnabledCap(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIERRMEnabledCap *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp18__;
     tANI_U8 tmp19__;
     tANI_U8 tmp20__;
     tANI_U8 tmp21__;
     tANI_U8 tmp22__;
+    tANI_U8 tmp23__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
-    tmp18__ = *pBuf;
-    pBuf += 1;
-    ielen -= 1;
-    pDst->LinkMeasurement = tmp18__ >> 0 & 0x1;
-    pDst->NeighborRpt = tmp18__ >> 1 & 0x1;
-    pDst->parallel = tmp18__ >> 2 & 0x1;
-    pDst->repeated = tmp18__ >> 3 & 0x1;
-    pDst->BeaconPassive = tmp18__ >> 4 & 0x1;
-    pDst->BeaconActive = tmp18__ >> 5 & 0x1;
-    pDst->BeaconTable = tmp18__ >> 6 & 0x1;
-    pDst->BeaconRepCond = tmp18__ >> 7 & 0x1;
     tmp19__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->FrameMeasurement = tmp19__ >> 0 & 0x1;
-    pDst->ChannelLoad = tmp19__ >> 1 & 0x1;
-    pDst->NoiseHistogram = tmp19__ >> 2 & 0x1;
-    pDst->statistics = tmp19__ >> 3 & 0x1;
-    pDst->LCIMeasurement = tmp19__ >> 4 & 0x1;
-    pDst->LCIAzimuth = tmp19__ >> 5 & 0x1;
-    pDst->TCMCapability = tmp19__ >> 6 & 0x1;
-    pDst->triggeredTCM = tmp19__ >> 7 & 0x1;
+    pDst->LinkMeasurement = tmp19__ >> 0 & 0x1;
+    pDst->NeighborRpt = tmp19__ >> 1 & 0x1;
+    pDst->parallel = tmp19__ >> 2 & 0x1;
+    pDst->repeated = tmp19__ >> 3 & 0x1;
+    pDst->BeaconPassive = tmp19__ >> 4 & 0x1;
+    pDst->BeaconActive = tmp19__ >> 5 & 0x1;
+    pDst->BeaconTable = tmp19__ >> 6 & 0x1;
+    pDst->BeaconRepCond = tmp19__ >> 7 & 0x1;
     tmp20__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->APChanReport = tmp20__ >> 0 & 0x1;
-    pDst->RRMMIBEnabled = tmp20__ >> 1 & 0x1;
-    pDst->operatingChanMax = tmp20__ >> 2 & 0x7;
-    pDst->nonOperatinChanMax = tmp20__ >> 5 & 0x7;
+    pDst->FrameMeasurement = tmp20__ >> 0 & 0x1;
+    pDst->ChannelLoad = tmp20__ >> 1 & 0x1;
+    pDst->NoiseHistogram = tmp20__ >> 2 & 0x1;
+    pDst->statistics = tmp20__ >> 3 & 0x1;
+    pDst->LCIMeasurement = tmp20__ >> 4 & 0x1;
+    pDst->LCIAzimuth = tmp20__ >> 5 & 0x1;
+    pDst->TCMCapability = tmp20__ >> 6 & 0x1;
+    pDst->triggeredTCM = tmp20__ >> 7 & 0x1;
     tmp21__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->MeasurementPilot = tmp21__ >> 0 & 0x7;
-    pDst->MeasurementPilotEnabled = tmp21__ >> 3 & 0x1;
-    pDst->NeighborTSFOffset = tmp21__ >> 4 & 0x1;
-    pDst->RCPIMeasurement = tmp21__ >> 5 & 0x1;
-    pDst->RSNIMeasurement = tmp21__ >> 6 & 0x1;
-    pDst->BssAvgAccessDelay = tmp21__ >> 7 & 0x1;
+    pDst->APChanReport = tmp21__ >> 0 & 0x1;
+    pDst->RRMMIBEnabled = tmp21__ >> 1 & 0x1;
+    pDst->operatingChanMax = tmp21__ >> 2 & 0x7;
+    pDst->nonOperatinChanMax = tmp21__ >> 5 & 0x7;
     tmp22__ = *pBuf;
-    pDst->BSSAvailAdmission = tmp22__ >> 0 & 0x1;
-    pDst->AntennaInformation = tmp22__ >> 1 & 0x1;
-    pDst->reserved = tmp22__ >> 2 & 0x3f;
+    pBuf += 1;
+    ielen -= 1;
+    pDst->MeasurementPilot = tmp22__ >> 0 & 0x7;
+    pDst->MeasurementPilotEnabled = tmp22__ >> 3 & 0x1;
+    pDst->NeighborTSFOffset = tmp22__ >> 4 & 0x1;
+    pDst->RCPIMeasurement = tmp22__ >> 5 & 0x1;
+    pDst->RSNIMeasurement = tmp22__ >> 6 & 0x1;
+    pDst->BssAvgAccessDelay = tmp22__ >> 7 & 0x1;
+    tmp23__ = *pBuf;
+    pDst->BSSAvailAdmission = tmp23__ >> 0 & 0x1;
+    pDst->AntennaInformation = tmp23__ >> 1 & 0x1;
+    pDst->reserved = tmp23__ >> 2 & 0x3f;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeRRMEnabledCap. */
@@ -2203,17 +2217,17 @@
 tANI_U32 dot11fUnpackIeSchedule(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIESchedule *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U16 tmp23__;
+    tANI_U16 tmp24__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
-    framesntohs(pCtx, &tmp23__, pBuf, 0);
+    framesntohs(pCtx, &tmp24__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->aggregation = tmp23__ >> 0 & 0x1;
-    pDst->tsid = tmp23__ >> 1 & 0xf;
-    pDst->direction = tmp23__ >> 5 & 0x3;
-    pDst->reserved = tmp23__ >> 7 & 0x1ff;
+    pDst->aggregation = tmp24__ >> 0 & 0x1;
+    pDst->tsid = tmp24__ >> 1 & 0xf;
+    pDst->direction = tmp24__ >> 5 & 0x3;
+    pDst->reserved = tmp24__ >> 7 & 0x1ff;
     framesntohl(pCtx, &pDst->service_start_time, pBuf, 0);
     pBuf += 4;
     ielen -= (tANI_U8)4;
@@ -2340,33 +2354,33 @@
 tANI_U32 dot11fUnpackIeTSPEC(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETSPEC *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U16 tmp24__;
-    tANI_U8 tmp25__;
-    tANI_U16 tmp26__;
+    tANI_U16 tmp25__;
+    tANI_U8 tmp26__;
+    tANI_U16 tmp27__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
-    framesntohs(pCtx, &tmp24__, pBuf, 0);
+    framesntohs(pCtx, &tmp25__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->traffic_type = tmp24__ >> 0 & 0x1;
-    pDst->tsid = tmp24__ >> 1 & 0xf;
-    pDst->direction = tmp24__ >> 5 & 0x3;
-    pDst->access_policy = tmp24__ >> 7 & 0x3;
-    pDst->aggregation = tmp24__ >> 9 & 0x1;
-    pDst->psb = tmp24__ >> 10 & 0x1;
-    pDst->user_priority = tmp24__ >> 11 & 0x7;
-    pDst->tsinfo_ack_pol = tmp24__ >> 14 & 0x3;
-    tmp25__ = *pBuf;
+    pDst->traffic_type = tmp25__ >> 0 & 0x1;
+    pDst->tsid = tmp25__ >> 1 & 0xf;
+    pDst->direction = tmp25__ >> 5 & 0x3;
+    pDst->access_policy = tmp25__ >> 7 & 0x3;
+    pDst->aggregation = tmp25__ >> 9 & 0x1;
+    pDst->psb = tmp25__ >> 10 & 0x1;
+    pDst->user_priority = tmp25__ >> 11 & 0x7;
+    pDst->tsinfo_ack_pol = tmp25__ >> 14 & 0x3;
+    tmp26__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->schedule = tmp25__ >> 0 & 0x1;
-    pDst->unused = tmp25__ >> 1 & 0x7f;
-    framesntohs(pCtx, &tmp26__, pBuf, 0);
+    pDst->schedule = tmp26__ >> 0 & 0x1;
+    pDst->unused = tmp26__ >> 1 & 0x7f;
+    framesntohs(pCtx, &tmp27__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->size = tmp26__ >> 0 & 0x7fff;
-    pDst->fixed = tmp26__ >> 15 & 0x1;
+    pDst->size = tmp27__ >> 0 & 0x7fff;
+    pDst->fixed = tmp27__ >> 15 & 0x1;
     framesntohs(pCtx, &pDst->max_msdu_size, pBuf, 0);
     pBuf += 2;
     ielen -= (tANI_U8)2;
@@ -2417,7 +2431,7 @@
 tANI_U32 dot11fUnpackIeWMMSchedule(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMSchedule *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U16 tmp27__;
+    tANI_U16 tmp28__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
@@ -2429,13 +2443,13 @@
             pDst->present = 0;
             return ( status | DOT11F_BAD_FIXED_VALUE );
     }
-    framesntohs(pCtx, &tmp27__, pBuf, 0);
+    framesntohs(pCtx, &tmp28__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->aggregation = tmp27__ >> 0 & 0x1;
-    pDst->tsid = tmp27__ >> 1 & 0xf;
-    pDst->direction = tmp27__ >> 5 & 0x3;
-    pDst->reserved = tmp27__ >> 7 & 0x1ff;
+    pDst->aggregation = tmp28__ >> 0 & 0x1;
+    pDst->tsid = tmp28__ >> 1 & 0xf;
+    pDst->direction = tmp28__ >> 5 & 0x3;
+    pDst->reserved = tmp28__ >> 7 & 0x1ff;
     framesntohl(pCtx, &pDst->service_start_time, pBuf, 0);
     pBuf += 4;
     ielen -= (tANI_U8)4;
@@ -2597,9 +2611,9 @@
 tANI_U32 dot11fUnpackIeWMMTSPEC(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMTSPEC *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U16 tmp28__;
-    tANI_U8 tmp29__;
-    tANI_U16 tmp30__;
+    tANI_U16 tmp29__;
+    tANI_U8 tmp30__;
+    tANI_U16 tmp31__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
@@ -2611,27 +2625,27 @@
             pDst->present = 0;
             return ( status | DOT11F_BAD_FIXED_VALUE );
     }
-    framesntohs(pCtx, &tmp28__, pBuf, 0);
+    framesntohs(pCtx, &tmp29__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->traffic_type = tmp28__ >> 0 & 0x1;
-    pDst->tsid = tmp28__ >> 1 & 0xf;
-    pDst->direction = tmp28__ >> 5 & 0x3;
-    pDst->access_policy = tmp28__ >> 7 & 0x3;
-    pDst->aggregation = tmp28__ >> 9 & 0x1;
-    pDst->psb = tmp28__ >> 10 & 0x1;
-    pDst->user_priority = tmp28__ >> 11 & 0x7;
-    pDst->tsinfo_ack_pol = tmp28__ >> 14 & 0x3;
-    tmp29__ = *pBuf;
+    pDst->traffic_type = tmp29__ >> 0 & 0x1;
+    pDst->tsid = tmp29__ >> 1 & 0xf;
+    pDst->direction = tmp29__ >> 5 & 0x3;
+    pDst->access_policy = tmp29__ >> 7 & 0x3;
+    pDst->aggregation = tmp29__ >> 9 & 0x1;
+    pDst->psb = tmp29__ >> 10 & 0x1;
+    pDst->user_priority = tmp29__ >> 11 & 0x7;
+    pDst->tsinfo_ack_pol = tmp29__ >> 14 & 0x3;
+    tmp30__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->tsinfo_rsvd = tmp29__ >> 0 & 0x7f;
-    pDst->burst_size_defn = tmp29__ >> 7 & 0x1;
-    framesntohs(pCtx, &tmp30__, pBuf, 0);
+    pDst->tsinfo_rsvd = tmp30__ >> 0 & 0x7f;
+    pDst->burst_size_defn = tmp30__ >> 7 & 0x1;
+    framesntohs(pCtx, &tmp31__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->size = tmp30__ >> 0 & 0x7fff;
-    pDst->fixed = tmp30__ >> 15 & 0x1;
+    pDst->size = tmp31__ >> 0 & 0x7fff;
+    pDst->fixed = tmp31__ >> 15 & 0x1;
     framesntohs(pCtx, &pDst->max_msdu_size, pBuf, 0);
     pBuf += 2;
     ielen -= (tANI_U8)2;
@@ -2747,16 +2761,16 @@
 tANI_U32 dot11fUnpackIeCCXRadMgmtCap(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIECCXRadMgmtCap *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp31__;
+    tANI_U8 tmp32__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
     pDst->mgmt_state = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
-    tmp31__ = *pBuf;
-    pDst->mbssid_mask = tmp31__ >> 0 & 0x7;
-    pDst->reserved = tmp31__ >> 3 & 0x1f;
+    tmp32__ = *pBuf;
+    pDst->mbssid_mask = tmp32__ >> 0 & 0x7;
+    pDst->reserved = tmp32__ >> 3 & 0x1f;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeCCXRadMgmtCap. */
@@ -2938,7 +2952,6 @@
 tANI_U32 dot11fUnpackIeEDCAParamSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEEDCAParamSet *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp32__;
     tANI_U8 tmp33__;
     tANI_U8 tmp34__;
     tANI_U8 tmp35__;
@@ -2946,6 +2959,7 @@
     tANI_U8 tmp37__;
     tANI_U8 tmp38__;
     tANI_U8 tmp39__;
+    tANI_U8 tmp40__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
@@ -2955,63 +2969,63 @@
     pDst->reserved = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
-    tmp32__ = *pBuf;
-    pBuf += 1;
-    ielen -= 1;
-    pDst->acbe_aifsn = tmp32__ >> 0 & 0xf;
-    pDst->acbe_acm = tmp32__ >> 4 & 0x1;
-    pDst->acbe_aci = tmp32__ >> 5 & 0x3;
-    pDst->unused1 = tmp32__ >> 7 & 0x1;
     tmp33__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acbe_acwmin = tmp33__ >> 0 & 0xf;
-    pDst->acbe_acwmax = tmp33__ >> 4 & 0xf;
-    framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
-    pBuf += 2;
-    ielen -= (tANI_U8)2;
+    pDst->acbe_aifsn = tmp33__ >> 0 & 0xf;
+    pDst->acbe_acm = tmp33__ >> 4 & 0x1;
+    pDst->acbe_aci = tmp33__ >> 5 & 0x3;
+    pDst->unused1 = tmp33__ >> 7 & 0x1;
     tmp34__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acbk_aifsn = tmp34__ >> 0 & 0xf;
-    pDst->acbk_acm = tmp34__ >> 4 & 0x1;
-    pDst->acbk_aci = tmp34__ >> 5 & 0x3;
-    pDst->unused2 = tmp34__ >> 7 & 0x1;
+    pDst->acbe_acwmin = tmp34__ >> 0 & 0xf;
+    pDst->acbe_acwmax = tmp34__ >> 4 & 0xf;
+    framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
+    pBuf += 2;
+    ielen -= (tANI_U8)2;
     tmp35__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acbk_acwmin = tmp35__ >> 0 & 0xf;
-    pDst->acbk_acwmax = tmp35__ >> 4 & 0xf;
-    framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
-    pBuf += 2;
-    ielen -= (tANI_U8)2;
+    pDst->acbk_aifsn = tmp35__ >> 0 & 0xf;
+    pDst->acbk_acm = tmp35__ >> 4 & 0x1;
+    pDst->acbk_aci = tmp35__ >> 5 & 0x3;
+    pDst->unused2 = tmp35__ >> 7 & 0x1;
     tmp36__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvi_aifsn = tmp36__ >> 0 & 0xf;
-    pDst->acvi_acm = tmp36__ >> 4 & 0x1;
-    pDst->acvi_aci = tmp36__ >> 5 & 0x3;
-    pDst->unused3 = tmp36__ >> 7 & 0x1;
+    pDst->acbk_acwmin = tmp36__ >> 0 & 0xf;
+    pDst->acbk_acwmax = tmp36__ >> 4 & 0xf;
+    framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
+    pBuf += 2;
+    ielen -= (tANI_U8)2;
     tmp37__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvi_acwmin = tmp37__ >> 0 & 0xf;
-    pDst->acvi_acwmax = tmp37__ >> 4 & 0xf;
-    framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
-    pBuf += 2;
-    ielen -= (tANI_U8)2;
+    pDst->acvi_aifsn = tmp37__ >> 0 & 0xf;
+    pDst->acvi_acm = tmp37__ >> 4 & 0x1;
+    pDst->acvi_aci = tmp37__ >> 5 & 0x3;
+    pDst->unused3 = tmp37__ >> 7 & 0x1;
     tmp38__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvo_aifsn = tmp38__ >> 0 & 0xf;
-    pDst->acvo_acm = tmp38__ >> 4 & 0x1;
-    pDst->acvo_aci = tmp38__ >> 5 & 0x3;
-    pDst->unused4 = tmp38__ >> 7 & 0x1;
+    pDst->acvi_acwmin = tmp38__ >> 0 & 0xf;
+    pDst->acvi_acwmax = tmp38__ >> 4 & 0xf;
+    framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
+    pBuf += 2;
+    ielen -= (tANI_U8)2;
     tmp39__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvo_acwmin = tmp39__ >> 0 & 0xf;
-    pDst->acvo_acwmax = tmp39__ >> 4 & 0xf;
+    pDst->acvo_aifsn = tmp39__ >> 0 & 0xf;
+    pDst->acvo_acm = tmp39__ >> 4 & 0x1;
+    pDst->acvo_aci = tmp39__ >> 5 & 0x3;
+    pDst->unused4 = tmp39__ >> 7 & 0x1;
+    tmp40__ = *pBuf;
+    pBuf += 1;
+    ielen -= 1;
+    pDst->acvo_acwmin = tmp40__ >> 0 & 0xf;
+    pDst->acvo_acwmax = tmp40__ >> 4 & 0xf;
     framesntohs(pCtx, &pDst->acvo_txoplimit, pBuf, 0);
     (void)pCtx;
     return status;
@@ -3023,15 +3037,15 @@
 tANI_U32 dot11fUnpackIeERPInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEERPInfo *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp40__;
+    tANI_U8 tmp41__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
-    tmp40__ = *pBuf;
-    pDst->non_erp_present = tmp40__ >> 0 & 0x1;
-    pDst->use_prot = tmp40__ >> 1 & 0x1;
-    pDst->barker_preamble = tmp40__ >> 2 & 0x1;
-    pDst->unused = tmp40__ >> 3 & 0x1f;
+    tmp41__ = *pBuf;
+    pDst->non_erp_present = tmp41__ >> 0 & 0x1;
+    pDst->use_prot = tmp41__ >> 1 & 0x1;
+    pDst->barker_preamble = tmp41__ >> 2 & 0x1;
+    pDst->unused = tmp41__ >> 3 & 0x1f;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeERPInfo. */
@@ -3039,7 +3053,80 @@
 #define SigIeERPInfo ( 0x0039 )
 
 
-#define SigIeExtChanSwitchAnn ( 0x003a )
+tANI_U32 dot11fUnpackIeExtCap(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEExtCap *pDst)
+{
+    tANI_U32 status = DOT11F_PARSE_SUCCESS;
+    tANI_U32 tmp42__;
+    tANI_U16 tmp43__;
+    tANI_U16 tmp44__;
+    (void) pBuf; (void)ielen; /* Shutup the compiler */
+    if (pDst->present) status = DOT11F_DUPLICATE_IE;
+    pDst->present = 1;
+    framesntohl(pCtx, &tmp42__, pBuf, 0);
+    pBuf += 4;
+    ielen -= 4;
+    pDst->bssCoexistMgmtSupport = tmp42__ >> 0 & 0x1;
+    pDst->reserved1 = tmp42__ >> 1 & 0x1;
+    pDst->extChanSwitch = tmp42__ >> 2 & 0x1;
+    pDst->reserved2 = tmp42__ >> 3 & 0x1;
+    pDst->psmpCap = tmp42__ >> 4 & 0x1;
+    pDst->reserved3 = tmp42__ >> 5 & 0x1;
+    pDst->spsmpCap = tmp42__ >> 6 & 0x1;
+    pDst->event = tmp42__ >> 7 & 0x1;
+    pDst->diagnostics = tmp42__ >> 8 & 0x1;
+    pDst->multiDiagnostics = tmp42__ >> 9 & 0x1;
+    pDst->locTracking = tmp42__ >> 10 & 0x1;
+    pDst->FMS = tmp42__ >> 11 & 0x1;
+    pDst->proxyARPService = tmp42__ >> 12 & 0x1;
+    pDst->coLocIntfReporting = tmp42__ >> 13 & 0x1;
+    pDst->civicLoc = tmp42__ >> 14 & 0x1;
+    pDst->geospatialLoc = tmp42__ >> 15 & 0x1;
+    pDst->TFS = tmp42__ >> 16 & 0x1;
+    pDst->wnmSleepMode = tmp42__ >> 17 & 0x1;
+    pDst->timBroadcast = tmp42__ >> 18 & 0x1;
+    pDst->bssTransition = tmp42__ >> 19 & 0x1;
+    pDst->qosTrafficCap = tmp42__ >> 20 & 0x1;
+    pDst->acStaCnt = tmp42__ >> 21 & 0x1;
+    pDst->multiBSSID = tmp42__ >> 22 & 0x1;
+    pDst->timingMeas = tmp42__ >> 23 & 0x1;
+    pDst->chanUsage = tmp42__ >> 24 & 0x1;
+    pDst->ssidList = tmp42__ >> 25 & 0x1;
+    pDst->DMS = tmp42__ >> 26 & 0x1;
+    pDst->UTCTSFOffset = tmp42__ >> 27 & 0x1;
+    pDst->TDLSPeerUAPSDBufferSTA = tmp42__ >> 28 & 0x1;
+    pDst->TDLSChannelSwitching = tmp42__ >> 29 & 0x1;
+    pDst->interworkingService = tmp42__ >> 30 & 0x1;
+    pDst->qosMap = tmp42__ >> 31 & 0x1;
+    framesntohs(pCtx, &tmp43__, pBuf, 0);
+    pBuf += 2;
+    ielen -= 2;
+    pDst->EBR = tmp43__ >> 0 & 0x1;
+    pDst->sspnInterface = tmp43__ >> 1 & 0x1;
+    pDst->reserved4 = tmp43__ >> 2 & 0x1;
+    pDst->msgCFCap = tmp43__ >> 3 & 0x1;
+    pDst->TDLSSupport = tmp43__ >> 4 & 0x1;
+    pDst->TDLSProhibited = tmp43__ >> 5 & 0x1;
+    pDst->TDLSChanSwitProhibited = tmp43__ >> 6 & 0x1;
+    pDst->rejectUnadmittedTraffic = tmp43__ >> 7 & 0x1;
+    pDst->serviceIntervalGranularity = tmp43__ >> 8 & 0x7;
+    pDst->identifierLoc = tmp43__ >> 11 & 0x1;
+    pDst->uapsdCoexistence = tmp43__ >> 12 & 0x1;
+    pDst->wnmNotification = tmp43__ >> 13 & 0x1;
+    pDst->reserved5 = tmp43__ >> 14 & 0x1;
+    pDst->UTF8SSID = tmp43__ >> 15 & 0x1;
+    framesntohs(pCtx, &tmp44__, pBuf, 0);
+    pDst->reserved6 = tmp44__ >> 0 & 0x1fff;
+    pDst->TDLSWiderBW = tmp44__ >> 13 & 0x1;
+    pDst->operModeNotification = tmp44__ >> 14 & 0x1;
+    pDst->reserved7 = tmp44__ >> 15 & 0x1;
+    (void)pCtx;
+    return status;
+} /* End dot11fUnpackIeExtCap. */
+
+#define SigIeExtCap ( 0x003a )
+
+
+#define SigIeExtChanSwitchAnn ( 0x003b )
 
 
 tANI_U32 dot11fUnpackIeExtSuppRates(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEExtSuppRates *pDst)
@@ -3067,7 +3154,7 @@
     return status;
 } /* End dot11fUnpackIeExtSuppRates. */
 
-#define SigIeExtSuppRates ( 0x003b )
+#define SigIeExtSuppRates ( 0x003c )
 
 
 tANI_U32 dot11fUnpackIeFHParamSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEFHParamSet *pDst)
@@ -3090,7 +3177,7 @@
     return status;
 } /* End dot11fUnpackIeFHParamSet. */
 
-#define SigIeFHParamSet ( 0x003c )
+#define SigIeFHParamSet ( 0x003d )
 
 
 tANI_U32 dot11fUnpackIeFHParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEFHParams *pDst)
@@ -3107,7 +3194,7 @@
     return status;
 } /* End dot11fUnpackIeFHParams. */
 
-#define SigIeFHParams ( 0x003d )
+#define SigIeFHParams ( 0x003e )
 
 
 tANI_U32 dot11fUnpackIeFHPattTable(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEFHPattTable *pDst)
@@ -3139,7 +3226,7 @@
     return status;
 } /* End dot11fUnpackIeFHPattTable. */
 
-#define SigIeFHPattTable ( 0x003e )
+#define SigIeFHPattTable ( 0x003f )
 
 
     static const tFFDefn FFS_FTInfo[ ] = {
@@ -3156,15 +3243,15 @@
 tANI_U32 dot11fUnpackIeFTInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEFTInfo *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U16 tmp41__;
+    tANI_U16 tmp45__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
-    framesntohs(pCtx, &tmp41__, pBuf, 0);
+    framesntohs(pCtx, &tmp45__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->reserved = tmp41__ >> 0 & 0xff;
-    pDst->IECount = tmp41__ >> 8 & 0xff;
+    pDst->reserved = tmp45__ >> 0 & 0xff;
+    pDst->IECount = tmp45__ >> 8 & 0xff;
     DOT11F_MEMCPY(pCtx, pDst->MIC, pBuf, 16);
     pBuf += 16;
     ielen -= (tANI_U8)16;
@@ -3185,7 +3272,7 @@
     return status;
 } /* End dot11fUnpackIeFTInfo. */
 
-#define SigIeFTInfo ( 0x003f )
+#define SigIeFTInfo ( 0x0040 )
 
 
 tANI_U32 dot11fUnpackIeFTTimeoutInterval(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEFTTimeoutInterval *pDst)
@@ -3202,84 +3289,84 @@
     return status;
 } /* End dot11fUnpackIeFTTimeoutInterval. */
 
-#define SigIeFTTimeoutInterval ( 0x0040 )
+#define SigIeFTTimeoutInterval ( 0x0041 )
 
 
 tANI_U32 dot11fUnpackIeHTCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEHTCaps *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U16 tmp42__;
-    tANI_U8 tmp43__;
-    tANI_U16 tmp44__;
-    tANI_U32 tmp45__;
-    tANI_U8 tmp46__;
+    tANI_U16 tmp46__;
+    tANI_U8 tmp47__;
+    tANI_U16 tmp48__;
+    tANI_U32 tmp49__;
+    tANI_U8 tmp50__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
-    framesntohs(pCtx, &tmp42__, pBuf, 0);
+    framesntohs(pCtx, &tmp46__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->advCodingCap = tmp42__ >> 0 & 0x1;
-    pDst->supportedChannelWidthSet = tmp42__ >> 1 & 0x1;
-    pDst->mimoPowerSave = tmp42__ >> 2 & 0x3;
-    pDst->greenField = tmp42__ >> 4 & 0x1;
-    pDst->shortGI20MHz = tmp42__ >> 5 & 0x1;
-    pDst->shortGI40MHz = tmp42__ >> 6 & 0x1;
-    pDst->txSTBC = tmp42__ >> 7 & 0x1;
-    pDst->rxSTBC = tmp42__ >> 8 & 0x3;
-    pDst->delayedBA = tmp42__ >> 10 & 0x1;
-    pDst->maximalAMSDUsize = tmp42__ >> 11 & 0x1;
-    pDst->dsssCckMode40MHz = tmp42__ >> 12 & 0x1;
-    pDst->psmp = tmp42__ >> 13 & 0x1;
-    pDst->stbcControlFrame = tmp42__ >> 14 & 0x1;
-    pDst->lsigTXOPProtection = tmp42__ >> 15 & 0x1;
-    tmp43__ = *pBuf;
+    pDst->advCodingCap = tmp46__ >> 0 & 0x1;
+    pDst->supportedChannelWidthSet = tmp46__ >> 1 & 0x1;
+    pDst->mimoPowerSave = tmp46__ >> 2 & 0x3;
+    pDst->greenField = tmp46__ >> 4 & 0x1;
+    pDst->shortGI20MHz = tmp46__ >> 5 & 0x1;
+    pDst->shortGI40MHz = tmp46__ >> 6 & 0x1;
+    pDst->txSTBC = tmp46__ >> 7 & 0x1;
+    pDst->rxSTBC = tmp46__ >> 8 & 0x3;
+    pDst->delayedBA = tmp46__ >> 10 & 0x1;
+    pDst->maximalAMSDUsize = tmp46__ >> 11 & 0x1;
+    pDst->dsssCckMode40MHz = tmp46__ >> 12 & 0x1;
+    pDst->psmp = tmp46__ >> 13 & 0x1;
+    pDst->stbcControlFrame = tmp46__ >> 14 & 0x1;
+    pDst->lsigTXOPProtection = tmp46__ >> 15 & 0x1;
+    tmp47__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->maxRxAMPDUFactor = tmp43__ >> 0 & 0x3;
-    pDst->mpduDensity = tmp43__ >> 2 & 0x7;
-    pDst->reserved1 = tmp43__ >> 5 & 0x7;
+    pDst->maxRxAMPDUFactor = tmp47__ >> 0 & 0x3;
+    pDst->mpduDensity = tmp47__ >> 2 & 0x7;
+    pDst->reserved1 = tmp47__ >> 5 & 0x7;
     DOT11F_MEMCPY(pCtx, pDst->supportedMCSSet, pBuf, 16);
     pBuf += 16;
     ielen -= (tANI_U8)16;
-    framesntohs(pCtx, &tmp44__, pBuf, 0);
+    framesntohs(pCtx, &tmp48__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->pco = tmp44__ >> 0 & 0x1;
-    pDst->transitionTime = tmp44__ >> 1 & 0x3;
-    pDst->reserved2 = tmp44__ >> 3 & 0x1f;
-    pDst->mcsFeedback = tmp44__ >> 8 & 0x3;
-    pDst->reserved3 = tmp44__ >> 10 & 0x3f;
-    framesntohl(pCtx, &tmp45__, pBuf, 0);
+    pDst->pco = tmp48__ >> 0 & 0x1;
+    pDst->transitionTime = tmp48__ >> 1 & 0x3;
+    pDst->reserved2 = tmp48__ >> 3 & 0x1f;
+    pDst->mcsFeedback = tmp48__ >> 8 & 0x3;
+    pDst->reserved3 = tmp48__ >> 10 & 0x3f;
+    framesntohl(pCtx, &tmp49__, pBuf, 0);
     pBuf += 4;
     ielen -= 4;
-    pDst->txBF = tmp45__ >> 0 & 0x1;
-    pDst->rxStaggeredSounding = tmp45__ >> 1 & 0x1;
-    pDst->txStaggeredSounding = tmp45__ >> 2 & 0x1;
-    pDst->rxZLF = tmp45__ >> 3 & 0x1;
-    pDst->txZLF = tmp45__ >> 4 & 0x1;
-    pDst->implicitTxBF = tmp45__ >> 5 & 0x1;
-    pDst->calibration = tmp45__ >> 6 & 0x3;
-    pDst->explicitCSITxBF = tmp45__ >> 8 & 0x1;
-    pDst->explicitUncompressedSteeringMatrix = tmp45__ >> 9 & 0x1;
-    pDst->explicitBFCSIFeedback = tmp45__ >> 10 & 0x7;
-    pDst->explicitUncompressedSteeringMatrixFeedback = tmp45__ >> 13 & 0x7;
-    pDst->explicitCompressedSteeringMatrixFeedback = tmp45__ >> 16 & 0x7;
-    pDst->csiNumBFAntennae = tmp45__ >> 19 & 0x3;
-    pDst->uncompressedSteeringMatrixBFAntennae = tmp45__ >> 21 & 0x3;
-    pDst->compressedSteeringMatrixBFAntennae = tmp45__ >> 23 & 0x3;
-    pDst->reserved4 = tmp45__ >> 25 & 0x7f;
-    tmp46__ = *pBuf;
+    pDst->txBF = tmp49__ >> 0 & 0x1;
+    pDst->rxStaggeredSounding = tmp49__ >> 1 & 0x1;
+    pDst->txStaggeredSounding = tmp49__ >> 2 & 0x1;
+    pDst->rxZLF = tmp49__ >> 3 & 0x1;
+    pDst->txZLF = tmp49__ >> 4 & 0x1;
+    pDst->implicitTxBF = tmp49__ >> 5 & 0x1;
+    pDst->calibration = tmp49__ >> 6 & 0x3;
+    pDst->explicitCSITxBF = tmp49__ >> 8 & 0x1;
+    pDst->explicitUncompressedSteeringMatrix = tmp49__ >> 9 & 0x1;
+    pDst->explicitBFCSIFeedback = tmp49__ >> 10 & 0x7;
+    pDst->explicitUncompressedSteeringMatrixFeedback = tmp49__ >> 13 & 0x7;
+    pDst->explicitCompressedSteeringMatrixFeedback = tmp49__ >> 16 & 0x7;
+    pDst->csiNumBFAntennae = tmp49__ >> 19 & 0x3;
+    pDst->uncompressedSteeringMatrixBFAntennae = tmp49__ >> 21 & 0x3;
+    pDst->compressedSteeringMatrixBFAntennae = tmp49__ >> 23 & 0x3;
+    pDst->reserved4 = tmp49__ >> 25 & 0x7f;
+    tmp50__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->antennaSelection = tmp46__ >> 0 & 0x1;
-    pDst->explicitCSIFeedbackTx = tmp46__ >> 1 & 0x1;
-    pDst->antennaIndicesFeedbackTx = tmp46__ >> 2 & 0x1;
-    pDst->explicitCSIFeedback = tmp46__ >> 3 & 0x1;
-    pDst->antennaIndicesFeedback = tmp46__ >> 4 & 0x1;
-    pDst->rxAS = tmp46__ >> 5 & 0x1;
-    pDst->txSoundingPPDUs = tmp46__ >> 6 & 0x1;
-    pDst->reserved5 = tmp46__ >> 7 & 0x1;
+    pDst->antennaSelection = tmp50__ >> 0 & 0x1;
+    pDst->explicitCSIFeedbackTx = tmp50__ >> 1 & 0x1;
+    pDst->antennaIndicesFeedbackTx = tmp50__ >> 2 & 0x1;
+    pDst->explicitCSIFeedback = tmp50__ >> 3 & 0x1;
+    pDst->antennaIndicesFeedback = tmp50__ >> 4 & 0x1;
+    pDst->rxAS = tmp50__ >> 5 & 0x1;
+    pDst->txSoundingPPDUs = tmp50__ >> 6 & 0x1;
+    pDst->reserved5 = tmp50__ >> 7 & 0x1;
     pDst->num_rsvd = (tANI_U8)( ielen );
     if (ielen > 32){
         pDst->present = 0;
@@ -3291,47 +3378,47 @@
     return status;
 } /* End dot11fUnpackIeHTCaps. */
 
-#define SigIeHTCaps ( 0x0041 )
+#define SigIeHTCaps ( 0x0042 )
 
 
 tANI_U32 dot11fUnpackIeHTInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEHTInfo *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp47__;
-    tANI_U16 tmp48__;
-    tANI_U16 tmp49__;
+    tANI_U8 tmp51__;
+    tANI_U16 tmp52__;
+    tANI_U16 tmp53__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
     pDst->primaryChannel = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
-    tmp47__ = *pBuf;
+    tmp51__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->secondaryChannelOffset = tmp47__ >> 0 & 0x3;
-    pDst->recommendedTxWidthSet = tmp47__ >> 2 & 0x1;
-    pDst->rifsMode = tmp47__ >> 3 & 0x1;
-    pDst->controlledAccessOnly = tmp47__ >> 4 & 0x1;
-    pDst->serviceIntervalGranularity = tmp47__ >> 5 & 0x7;
-    framesntohs(pCtx, &tmp48__, pBuf, 0);
+    pDst->secondaryChannelOffset = tmp51__ >> 0 & 0x3;
+    pDst->recommendedTxWidthSet = tmp51__ >> 2 & 0x1;
+    pDst->rifsMode = tmp51__ >> 3 & 0x1;
+    pDst->controlledAccessOnly = tmp51__ >> 4 & 0x1;
+    pDst->serviceIntervalGranularity = tmp51__ >> 5 & 0x7;
+    framesntohs(pCtx, &tmp52__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->opMode = tmp48__ >> 0 & 0x3;
-    pDst->nonGFDevicesPresent = tmp48__ >> 2 & 0x1;
-    pDst->transmitBurstLimit = tmp48__ >> 3 & 0x1;
-    pDst->obssNonHTStaPresent = tmp48__ >> 4 & 0x1;
-    pDst->reserved = tmp48__ >> 5 & 0x7ff;
-    framesntohs(pCtx, &tmp49__, pBuf, 0);
+    pDst->opMode = tmp52__ >> 0 & 0x3;
+    pDst->nonGFDevicesPresent = tmp52__ >> 2 & 0x1;
+    pDst->transmitBurstLimit = tmp52__ >> 3 & 0x1;
+    pDst->obssNonHTStaPresent = tmp52__ >> 4 & 0x1;
+    pDst->reserved = tmp52__ >> 5 & 0x7ff;
+    framesntohs(pCtx, &tmp53__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->basicSTBCMCS = tmp49__ >> 0 & 0x7f;
-    pDst->dualCTSProtection = tmp49__ >> 7 & 0x1;
-    pDst->secondaryBeacon = tmp49__ >> 8 & 0x1;
-    pDst->lsigTXOPProtectionFullSupport = tmp49__ >> 9 & 0x1;
-    pDst->pcoActive = tmp49__ >> 10 & 0x1;
-    pDst->pcoPhase = tmp49__ >> 11 & 0x1;
-    pDst->reserved2 = tmp49__ >> 12 & 0xf;
+    pDst->basicSTBCMCS = tmp53__ >> 0 & 0x7f;
+    pDst->dualCTSProtection = tmp53__ >> 7 & 0x1;
+    pDst->secondaryBeacon = tmp53__ >> 8 & 0x1;
+    pDst->lsigTXOPProtectionFullSupport = tmp53__ >> 9 & 0x1;
+    pDst->pcoActive = tmp53__ >> 10 & 0x1;
+    pDst->pcoPhase = tmp53__ >> 11 & 0x1;
+    pDst->reserved2 = tmp53__ >> 12 & 0xf;
     DOT11F_MEMCPY(pCtx, pDst->basicMCSSet, pBuf, 16);
     pBuf += 16;
     ielen -= (tANI_U8)16;
@@ -3346,7 +3433,7 @@
     return status;
 } /* End dot11fUnpackIeHTInfo. */
 
-#define SigIeHTInfo ( 0x0042 )
+#define SigIeHTInfo ( 0x0043 )
 
 
 tANI_U32 dot11fUnpackIeIBSSParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEIBSSParams *pDst)
@@ -3360,7 +3447,7 @@
     return status;
 } /* End dot11fUnpackIeIBSSParams. */
 
-#define SigIeIBSSParams ( 0x0043 )
+#define SigIeIBSSParams ( 0x0044 )
 
 
 static const tFFDefn FFS_reportBeacon[ ] = {
@@ -3375,22 +3462,22 @@
 tANI_U32 dot11fUnpackIeMeasurementReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEMeasurementReport *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp50__;
-    tANI_U8 tmp51__;
-    tANI_U8 tmp52__;
+    tANI_U8 tmp54__;
+    tANI_U8 tmp55__;
+    tANI_U8 tmp56__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
     pDst->token = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
-    tmp50__ = *pBuf;
+    tmp54__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->late = tmp50__ >> 0 & 0x1;
-    pDst->incapable = tmp50__ >> 1 & 0x1;
-    pDst->refused = tmp50__ >> 2 & 0x1;
-    pDst->unused = tmp50__ >> 3 & 0x1f;
+    pDst->late = tmp54__ >> 0 & 0x1;
+    pDst->incapable = tmp54__ >> 1 & 0x1;
+    pDst->refused = tmp54__ >> 2 & 0x1;
+    pDst->unused = tmp54__ >> 3 & 0x1f;
     pDst->type = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
@@ -3412,15 +3499,15 @@
                 framesntohs(pCtx, &pDst->report.Basic.meas_duration, pBuf, 0);
                 pBuf += 2;
                 ielen -= (tANI_U8)2;
-                tmp51__ = *pBuf;
+                tmp55__ = *pBuf;
                 pBuf += 1;
                 ielen -= 1;
-                pDst->report.Basic.bss = tmp51__ >> 0 & 0x1;
-                pDst->report.Basic.ofdm_preamble = tmp51__ >> 1 & 0x1;
-                pDst->report.Basic.unid_signal = tmp51__ >> 2 & 0x1;
-                pDst->report.Basic.rader = tmp51__ >> 3 & 0x1;
-                pDst->report.Basic.unmeasured = tmp51__ >> 4 & 0x1;
-                pDst->report.Basic.unused = tmp51__ >> 5 & 0x7;
+                pDst->report.Basic.bss = tmp55__ >> 0 & 0x1;
+                pDst->report.Basic.ofdm_preamble = tmp55__ >> 1 & 0x1;
+                pDst->report.Basic.unid_signal = tmp55__ >> 2 & 0x1;
+                pDst->report.Basic.rader = tmp55__ >> 3 & 0x1;
+                pDst->report.Basic.unmeasured = tmp55__ >> 4 & 0x1;
+                pDst->report.Basic.unused = tmp55__ >> 5 & 0x7;
             break;
             case 1:
                 pDst->report.CCA.channel = *pBuf;
@@ -3484,11 +3571,11 @@
                 framesntohs(pCtx, &pDst->report.Beacon.meas_duration, pBuf, 0);
                 pBuf += 2;
                 ielen -= (tANI_U8)2;
-                tmp52__ = *pBuf;
+                tmp56__ = *pBuf;
                 pBuf += 1;
                 ielen -= 1;
-                pDst->report.Beacon.condensed_PHY = tmp52__ >> 0 & 0x7f;
-                pDst->report.Beacon.reported_frame_type = tmp52__ >> 7 & 0x1;
+                pDst->report.Beacon.condensed_PHY = tmp56__ >> 0 & 0x7f;
+                pDst->report.Beacon.reported_frame_type = tmp56__ >> 7 & 0x1;
                 pDst->report.Beacon.RCPI = *pBuf;
                 pBuf += 1;
                 ielen -= (tANI_U8)1;
@@ -3518,7 +3605,7 @@
     return status;
 } /* End dot11fUnpackIeMeasurementReport. */
 
-#define SigIeMeasurementReport ( 0x0044 )
+#define SigIeMeasurementReport ( 0x0045 )
 
 
 static const tFFDefn FFS_measurement_requestBeacon[ ] = {
@@ -3537,22 +3624,22 @@
 tANI_U32 dot11fUnpackIeMeasurementRequest(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEMeasurementRequest *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp53__;
+    tANI_U8 tmp57__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
     pDst->measurement_token = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
-    tmp53__ = *pBuf;
+    tmp57__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->parallel = tmp53__ >> 0 & 0x1;
-    pDst->enable = tmp53__ >> 1 & 0x1;
-    pDst->request = tmp53__ >> 2 & 0x1;
-    pDst->report = tmp53__ >> 3 & 0x1;
-    pDst->durationMandatory = tmp53__ >> 4 & 0x1;
-    pDst->unused = tmp53__ >> 5 & 0x7;
+    pDst->parallel = tmp57__ >> 0 & 0x1;
+    pDst->enable = tmp57__ >> 1 & 0x1;
+    pDst->request = tmp57__ >> 2 & 0x1;
+    pDst->report = tmp57__ >> 3 & 0x1;
+    pDst->durationMandatory = tmp57__ >> 4 & 0x1;
+    pDst->unused = tmp57__ >> 5 & 0x7;
     pDst->measurement_type = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
@@ -3623,28 +3710,28 @@
     return status;
 } /* End dot11fUnpackIeMeasurementRequest. */
 
-#define SigIeMeasurementRequest ( 0x0045 )
+#define SigIeMeasurementRequest ( 0x0046 )
 
 
 tANI_U32 dot11fUnpackIeMobilityDomain(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEMobilityDomain *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp54__;
+    tANI_U8 tmp58__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
     framesntohs(pCtx, &pDst->MDID, pBuf, 0);
     pBuf += 2;
     ielen -= (tANI_U8)2;
-    tmp54__ = *pBuf;
-    pDst->overDSCap = tmp54__ >> 0 & 0x1;
-    pDst->resourceReqCap = tmp54__ >> 1 & 0x1;
-    pDst->reserved = tmp54__ >> 2 & 0x3f;
+    tmp58__ = *pBuf;
+    pDst->overDSCap = tmp58__ >> 0 & 0x1;
+    pDst->resourceReqCap = tmp58__ >> 1 & 0x1;
+    pDst->reserved = tmp58__ >> 2 & 0x3f;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeMobilityDomain. */
 
-#define SigIeMobilityDomain ( 0x0046 )
+#define SigIeMobilityDomain ( 0x0047 )
 
 
     static const tFFDefn FFS_NeighborReport[ ] = {
@@ -3663,31 +3750,31 @@
 tANI_U32 dot11fUnpackIeNeighborReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIENeighborReport *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp55__;
-    tANI_U8 tmp56__;
+    tANI_U8 tmp59__;
+    tANI_U8 tmp60__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
     DOT11F_MEMCPY(pCtx, pDst->bssid, pBuf, 6);
     pBuf += 6;
     ielen -= (tANI_U8)6;
-    tmp55__ = *pBuf;
+    tmp59__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->APReachability = tmp55__ >> 0 & 0x3;
-    pDst->Security = tmp55__ >> 2 & 0x1;
-    pDst->KeyScope = tmp55__ >> 3 & 0x1;
-    pDst->SpecMgmtCap = tmp55__ >> 4 & 0x1;
-    pDst->QosCap = tmp55__ >> 5 & 0x1;
-    pDst->apsd = tmp55__ >> 6 & 0x1;
-    pDst->rrm = tmp55__ >> 7 & 0x1;
-    tmp56__ = *pBuf;
+    pDst->APReachability = tmp59__ >> 0 & 0x3;
+    pDst->Security = tmp59__ >> 2 & 0x1;
+    pDst->KeyScope = tmp59__ >> 3 & 0x1;
+    pDst->SpecMgmtCap = tmp59__ >> 4 & 0x1;
+    pDst->QosCap = tmp59__ >> 5 & 0x1;
+    pDst->apsd = tmp59__ >> 6 & 0x1;
+    pDst->rrm = tmp59__ >> 7 & 0x1;
+    tmp60__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->DelayedBA = tmp56__ >> 0 & 0x1;
-    pDst->ImmBA = tmp56__ >> 1 & 0x1;
-    pDst->MobilityDomain = tmp56__ >> 2 & 0x1;
-    pDst->reserved = tmp56__ >> 3 & 0x1f;
+    pDst->DelayedBA = tmp60__ >> 0 & 0x1;
+    pDst->ImmBA = tmp60__ >> 1 & 0x1;
+    pDst->MobilityDomain = tmp60__ >> 2 & 0x1;
+    pDst->reserved = tmp60__ >> 3 & 0x1f;
     framesntohs(pCtx, &pDst->reserved1, pBuf, 0);
     pBuf += 2;
     ielen -= (tANI_U8)2;
@@ -3711,7 +3798,26 @@
     return status;
 } /* End dot11fUnpackIeNeighborReport. */
 
-#define SigIeNeighborReport ( 0x0047 )
+#define SigIeNeighborReport ( 0x0048 )
+
+
+tANI_U32 dot11fUnpackIeOperatingMode(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEOperatingMode *pDst)
+{
+    tANI_U32 status = DOT11F_PARSE_SUCCESS;
+    tANI_U8 tmp61__;
+    (void) pBuf; (void)ielen; /* Shutup the compiler */
+    if (pDst->present) status = DOT11F_DUPLICATE_IE;
+    pDst->present = 1;
+    tmp61__ = *pBuf;
+    pDst->chanWidth = tmp61__ >> 0 & 0x3;
+    pDst->reserved = tmp61__ >> 2 & 0x3;
+    pDst->rxNSS = tmp61__ >> 4 & 0x7;
+    pDst->rxNSSType = tmp61__ >> 7 & 0x1;
+    (void)pCtx;
+    return status;
+} /* End dot11fUnpackIeOperatingMode. */
+
+#define SigIeOperatingMode ( 0x0049 )
 
 
     static const tTLVDefn TLVS_P2PAssocReq[ ] = {
@@ -3730,7 +3836,7 @@
     return status;
 } /* End dot11fUnpackIeP2PAssocReq. */
 
-#define SigIeP2PAssocReq ( 0x0048 )
+#define SigIeP2PAssocReq ( 0x004a )
 
 
     static const tTLVDefn TLVS_P2PAssocRes[ ] = {
@@ -3748,7 +3854,7 @@
     return status;
 } /* End dot11fUnpackIeP2PAssocRes. */
 
-#define SigIeP2PAssocRes ( 0x0049 )
+#define SigIeP2PAssocRes ( 0x004b )
 
 
     static const tTLVDefn TLVS_P2PBeacon[ ] = {
@@ -3767,7 +3873,7 @@
     return status;
 } /* End dot11fUnpackIeP2PBeacon. */
 
-#define SigIeP2PBeacon ( 0x004a )
+#define SigIeP2PBeacon ( 0x004c )
 
 
     static const tTLVDefn TLVS_P2PBeaconProbeRes[ ] = {
@@ -3789,7 +3895,7 @@
     return status;
 } /* End dot11fUnpackIeP2PBeaconProbeRes. */
 
-#define SigIeP2PBeaconProbeRes ( 0x004b )
+#define SigIeP2PBeaconProbeRes ( 0x004d )
 
 
     static const tTLVDefn TLVS_P2PDeAuth[ ] = {
@@ -3806,7 +3912,7 @@
     return status;
 } /* End dot11fUnpackIeP2PDeAuth. */
 
-#define SigIeP2PDeAuth ( 0x004c )
+#define SigIeP2PDeAuth ( 0x004e )
 
 
     static const tTLVDefn TLVS_P2PDeviceDiscoverabilityReq[ ] = {
@@ -3824,7 +3930,7 @@
     return status;
 } /* End dot11fUnpackIeP2PDeviceDiscoverabilityReq. */
 
-#define SigIeP2PDeviceDiscoverabilityReq ( 0x004d )
+#define SigIeP2PDeviceDiscoverabilityReq ( 0x004f )
 
 
     static const tTLVDefn TLVS_P2PDeviceDiscoverabilityRes[ ] = {
@@ -3841,7 +3947,7 @@
     return status;
 } /* End dot11fUnpackIeP2PDeviceDiscoverabilityRes. */
 
-#define SigIeP2PDeviceDiscoverabilityRes ( 0x004e )
+#define SigIeP2PDeviceDiscoverabilityRes ( 0x0050 )
 
 
     static const tTLVDefn TLVS_P2PDisAssoc[ ] = {
@@ -3858,7 +3964,7 @@
     return status;
 } /* End dot11fUnpackIeP2PDisAssoc. */
 
-#define SigIeP2PDisAssoc ( 0x004f )
+#define SigIeP2PDisAssoc ( 0x0051 )
 
 
     static const tTLVDefn TLVS_P2PGONegCnf[ ] = {
@@ -3879,7 +3985,7 @@
     return status;
 } /* End dot11fUnpackIeP2PGONegCnf. */
 
-#define SigIeP2PGONegCnf ( 0x0050 )
+#define SigIeP2PGONegCnf ( 0x0052 )
 
 
     static const tTLVDefn TLVS_P2PGONegReq[ ] = {
@@ -3904,7 +4010,7 @@
     return status;
 } /* End dot11fUnpackIeP2PGONegReq. */
 
-#define SigIeP2PGONegReq ( 0x0051 )
+#define SigIeP2PGONegReq ( 0x0053 )
 
 
     static const tTLVDefn TLVS_P2PGONegRes[ ] = {
@@ -3929,7 +4035,7 @@
     return status;
 } /* End dot11fUnpackIeP2PGONegRes. */
 
-#define SigIeP2PGONegRes ( 0x0052 )
+#define SigIeP2PGONegRes ( 0x0054 )
 
 
     static const tTLVDefn TLVS_P2PGONegWPS[ ] = {
@@ -3947,7 +4053,7 @@
     return status;
 } /* End dot11fUnpackIeP2PGONegWPS. */
 
-#define SigIeP2PGONegWPS ( 0x0053 )
+#define SigIeP2PGONegWPS ( 0x0055 )
 
 
 tANI_U32 dot11fUnpackIeP2PIEOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEP2PIEOpaque *pDst)
@@ -3967,7 +4073,7 @@
     return status;
 } /* End dot11fUnpackIeP2PIEOpaque. */
 
-#define SigIeP2PIEOpaque ( 0x0054 )
+#define SigIeP2PIEOpaque ( 0x0056 )
 
 
     static const tTLVDefn TLVS_P2PInvitationReq[ ] = {
@@ -3990,7 +4096,7 @@
     return status;
 } /* End dot11fUnpackIeP2PInvitationReq. */
 
-#define SigIeP2PInvitationReq ( 0x0055 )
+#define SigIeP2PInvitationReq ( 0x0057 )
 
 
     static const tTLVDefn TLVS_P2PInvitationRes[ ] = {
@@ -4011,7 +4117,7 @@
     return status;
 } /* End dot11fUnpackIeP2PInvitationRes. */
 
-#define SigIeP2PInvitationRes ( 0x0056 )
+#define SigIeP2PInvitationRes ( 0x0058 )
 
 
     static const tTLVDefn TLVS_P2PNoticeOfAbsence[ ] = {
@@ -4028,7 +4134,7 @@
     return status;
 } /* End dot11fUnpackIeP2PNoticeOfAbsence. */
 
-#define SigIeP2PNoticeOfAbsence ( 0x0057 )
+#define SigIeP2PNoticeOfAbsence ( 0x0059 )
 
 
     static const tTLVDefn TLVS_P2PPresenceResponse[ ] = {
@@ -4046,7 +4152,7 @@
     return status;
 } /* End dot11fUnpackIeP2PPresenceResponse. */
 
-#define SigIeP2PPresenceResponse ( 0x0058 )
+#define SigIeP2PPresenceResponse ( 0x005a )
 
 
     static const tTLVDefn TLVS_P2PProbeReq[ ] = {
@@ -4067,7 +4173,7 @@
     return status;
 } /* End dot11fUnpackIeP2PProbeReq. */
 
-#define SigIeP2PProbeReq ( 0x0059 )
+#define SigIeP2PProbeReq ( 0x005b )
 
 
     static const tTLVDefn TLVS_P2PProbeRes[ ] = {
@@ -4088,7 +4194,7 @@
     return status;
 } /* End dot11fUnpackIeP2PProbeRes. */
 
-#define SigIeP2PProbeRes ( 0x005a )
+#define SigIeP2PProbeRes ( 0x005c )
 
 
     static const tTLVDefn TLVS_P2PProvisionDiscoveryReq[ ] = {
@@ -4107,7 +4213,7 @@
     return status;
 } /* End dot11fUnpackIeP2PProvisionDiscoveryReq. */
 
-#define SigIeP2PProvisionDiscoveryReq ( 0x005b )
+#define SigIeP2PProvisionDiscoveryReq ( 0x005d )
 
 
     static const tTLVDefn TLVS_P2PWSCProvisionDiscoveryRes[ ] = {
@@ -4124,7 +4230,7 @@
     return status;
 } /* End dot11fUnpackIeP2PWSCProvisionDiscoveryRes. */
 
-#define SigIeP2PWSCProvisionDiscoveryRes ( 0x005c )
+#define SigIeP2PWSCProvisionDiscoveryRes ( 0x005e )
 
 
 tANI_U32 dot11fUnpackIePowerCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEPowerCaps *pDst)
@@ -4141,7 +4247,7 @@
     return status;
 } /* End dot11fUnpackIePowerCaps. */
 
-#define SigIePowerCaps ( 0x005d )
+#define SigIePowerCaps ( 0x005f )
 
 
 tANI_U32 dot11fUnpackIePowerConstraints(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEPowerConstraints *pDst)
@@ -4155,7 +4261,7 @@
     return status;
 } /* End dot11fUnpackIePowerConstraints. */
 
-#define SigIePowerConstraints ( 0x005e )
+#define SigIePowerConstraints ( 0x0060 )
 
 
 tANI_U32 dot11fUnpackIeQBSSLoad(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQBSSLoad *pDst)
@@ -4175,49 +4281,49 @@
     return status;
 } /* End dot11fUnpackIeQBSSLoad. */
 
-#define SigIeQBSSLoad ( 0x005f )
+#define SigIeQBSSLoad ( 0x0061 )
 
 
 tANI_U32 dot11fUnpackIeQOSCapsAp(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQOSCapsAp *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp57__;
+    tANI_U8 tmp62__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
-    tmp57__ = *pBuf;
-    pDst->reserved = tmp57__ >> 0 & 0x1;
-    pDst->txopreq = tmp57__ >> 1 & 0x1;
-    pDst->qreq = tmp57__ >> 2 & 0x1;
-    pDst->qack = tmp57__ >> 3 & 0x1;
-    pDst->count = tmp57__ >> 4 & 0xf;
+    tmp62__ = *pBuf;
+    pDst->reserved = tmp62__ >> 0 & 0x1;
+    pDst->txopreq = tmp62__ >> 1 & 0x1;
+    pDst->qreq = tmp62__ >> 2 & 0x1;
+    pDst->qack = tmp62__ >> 3 & 0x1;
+    pDst->count = tmp62__ >> 4 & 0xf;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeQOSCapsAp. */
 
-#define SigIeQOSCapsAp ( 0x0060 )
+#define SigIeQOSCapsAp ( 0x0062 )
 
 
 tANI_U32 dot11fUnpackIeQOSCapsStation(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQOSCapsStation *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp58__;
+    tANI_U8 tmp63__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
-    tmp58__ = *pBuf;
-    pDst->more_data_ack = tmp58__ >> 0 & 0x1;
-    pDst->max_sp_length = tmp58__ >> 1 & 0x3;
-    pDst->qack = tmp58__ >> 3 & 0x1;
-    pDst->acbe_uapsd = tmp58__ >> 4 & 0x1;
-    pDst->acbk_uapsd = tmp58__ >> 5 & 0x1;
-    pDst->acvi_uapsd = tmp58__ >> 6 & 0x1;
-    pDst->acvo_uapsd = tmp58__ >> 7 & 0x1;
+    tmp63__ = *pBuf;
+    pDst->more_data_ack = tmp63__ >> 0 & 0x1;
+    pDst->max_sp_length = tmp63__ >> 1 & 0x3;
+    pDst->qack = tmp63__ >> 3 & 0x1;
+    pDst->acbe_uapsd = tmp63__ >> 4 & 0x1;
+    pDst->acbk_uapsd = tmp63__ >> 5 & 0x1;
+    pDst->acvi_uapsd = tmp63__ >> 6 & 0x1;
+    pDst->acvo_uapsd = tmp63__ >> 7 & 0x1;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeQOSCapsStation. */
 
-#define SigIeQOSCapsStation ( 0x0061 )
+#define SigIeQOSCapsStation ( 0x0063 )
 
 
 tANI_U32 dot11fUnpackIeQuiet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQuiet *pDst)
@@ -4240,7 +4346,7 @@
     return status;
 } /* End dot11fUnpackIeQuiet. */
 
-#define SigIeQuiet ( 0x0062 )
+#define SigIeQuiet ( 0x0064 )
 
 
 tANI_U32 dot11fUnpackIeRCPIIE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIERCPIIE *pDst)
@@ -4254,7 +4360,7 @@
     return status;
 } /* End dot11fUnpackIeRCPIIE. */
 
-#define SigIeRCPIIE ( 0x0063 )
+#define SigIeRCPIIE ( 0x0065 )
 
 
     static const tFFDefn FFS_RICDataDesc[ ] = {
@@ -4294,13 +4400,13 @@
     return status;
 } /* End dot11fUnpackIeRICDataDesc. */
 
-#define SigIeRICDataDesc ( 0x0064 )
+#define SigIeRICDataDesc ( 0x0066 )
 
 
 tANI_U32 dot11fUnpackIeRSN(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIERSN *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U16 tmp59__;
+    tANI_U16 tmp64__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
@@ -4356,14 +4462,14 @@
     DOT11F_MEMCPY(pCtx, pDst->akm_suites, pBuf, ( pDst->akm_suite_count * 4 ) );
     pBuf += ( pDst->akm_suite_count * 4 );
     ielen -= ( pDst->akm_suite_count * 4 );
-    framesntohs(pCtx, &tmp59__, pBuf, 0);
+    framesntohs(pCtx, &tmp64__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->preauth = tmp59__ >> 0 & 0x1;
-    pDst->no_pwise = tmp59__ >> 1 & 0x1;
-    pDst->PTKSA_replay_counter = tmp59__ >> 2 & 0x3;
-    pDst->GTKSA_replay_counter = tmp59__ >> 4 & 0x3;
-    pDst->reserved = tmp59__ >> 6 & 0x3ff;
+    pDst->preauth = tmp64__ >> 0 & 0x1;
+    pDst->no_pwise = tmp64__ >> 1 & 0x1;
+    pDst->PTKSA_replay_counter = tmp64__ >> 2 & 0x3;
+    pDst->GTKSA_replay_counter = tmp64__ >> 4 & 0x3;
+    pDst->reserved = tmp64__ >> 6 & 0x3ff;
     if ( ! ielen )
     {
         pDst->pmkid_count = 0U;
@@ -4385,7 +4491,7 @@
     return status;
 } /* End dot11fUnpackIeRSN. */
 
-#define SigIeRSN ( 0x0065 )
+#define SigIeRSN ( 0x0067 )
 
 
 tANI_U32 dot11fUnpackIeRSNIIE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIERSNIIE *pDst)
@@ -4399,7 +4505,7 @@
     return status;
 } /* End dot11fUnpackIeRSNIIE. */
 
-#define SigIeRSNIIE ( 0x0066 )
+#define SigIeRSNIIE ( 0x0068 )
 
 
 tANI_U32 dot11fUnpackIeRSNOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIERSNOpaque *pDst)
@@ -4419,7 +4525,7 @@
     return status;
 } /* End dot11fUnpackIeRSNOpaque. */
 
-#define SigIeRSNOpaque ( 0x0067 )
+#define SigIeRSNOpaque ( 0x0069 )
 
 
 tANI_U32 dot11fUnpackIeSuppChannels(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIESuppChannels *pDst)
@@ -4439,7 +4545,7 @@
     return status;
 } /* End dot11fUnpackIeSuppChannels. */
 
-#define SigIeSuppChannels ( 0x0068 )
+#define SigIeSuppChannels ( 0x006a )
 
 
 tANI_U32 dot11fUnpackIeSuppRates(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIESuppRates *pDst)
@@ -4467,7 +4573,7 @@
     return status;
 } /* End dot11fUnpackIeSuppRates. */
 
-#define SigIeSuppRates ( 0x0069 )
+#define SigIeSuppRates ( 0x006b )
 
 
 tANI_U32 dot11fUnpackIeTIM(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETIM *pDst)
@@ -4496,7 +4602,7 @@
     return status;
 } /* End dot11fUnpackIeTIM. */
 
-#define SigIeTIM ( 0x006a )
+#define SigIeTIM ( 0x006c )
 
 
 tANI_U32 dot11fUnpackIeTPCReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETPCReport *pDst)
@@ -4513,7 +4619,7 @@
     return status;
 } /* End dot11fUnpackIeTPCReport. */
 
-#define SigIeTPCReport ( 0x006b )
+#define SigIeTPCReport ( 0x006d )
 
 
 tANI_U32 dot11fUnpackIeTPCRequest(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETPCRequest *pDst)
@@ -4526,60 +4632,60 @@
     return status;
 } /* End dot11fUnpackIeTPCRequest. */
 
-#define SigIeTPCRequest ( 0x006c )
+#define SigIeTPCRequest ( 0x006e )
 
 
 tANI_U32 dot11fUnpackIeVHTCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEVHTCaps *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U32 tmp60__;
-    tANI_U16 tmp61__;
-    tANI_U16 tmp62__;
+    tANI_U32 tmp65__;
+    tANI_U16 tmp66__;
+    tANI_U16 tmp67__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
-    framesntohl(pCtx, &tmp60__, pBuf, 0);
+    framesntohl(pCtx, &tmp65__, pBuf, 0);
     pBuf += 4;
     ielen -= 4;
-    pDst->maxMPDULen = tmp60__ >> 0 & 0x3;
-    pDst->supportedChannelWidthSet = tmp60__ >> 2 & 0x3;
-    pDst->ldpcCodingCap = tmp60__ >> 4 & 0x1;
-    pDst->shortGI80MHz = tmp60__ >> 5 & 0x1;
-    pDst->shortGI160and80plus80MHz = tmp60__ >> 6 & 0x1;
-    pDst->txSTBC = tmp60__ >> 7 & 0x1;
-    pDst->rxSTBC = tmp60__ >> 8 & 0x7;
-    pDst->suBeamFormerCap = tmp60__ >> 11 & 0x1;
-    pDst->suBeamformeeCap = tmp60__ >> 12 & 0x1;
-    pDst->csnofBeamformerAntSup = tmp60__ >> 13 & 0x7;
-    pDst->numSoundingDim = tmp60__ >> 16 & 0x7;
-    pDst->muBeamformerCap = tmp60__ >> 19 & 0x1;
-    pDst->muBeamformeeCap = tmp60__ >> 20 & 0x1;
-    pDst->vhtTXOPPS = tmp60__ >> 21 & 0x1;
-    pDst->htcVHTCap = tmp60__ >> 22 & 0x1;
-    pDst->maxAMPDULenExp = tmp60__ >> 23 & 0x7;
-    pDst->vhtLinkAdaptCap = tmp60__ >> 26 & 0x3;
-    pDst->rxAntPattern = tmp60__ >> 28 & 0x1;
-    pDst->txAntPattern = tmp60__ >> 29 & 0x1;
-    pDst->reserved1 = tmp60__ >> 30 & 0x3;
+    pDst->maxMPDULen = tmp65__ >> 0 & 0x3;
+    pDst->supportedChannelWidthSet = tmp65__ >> 2 & 0x3;
+    pDst->ldpcCodingCap = tmp65__ >> 4 & 0x1;
+    pDst->shortGI80MHz = tmp65__ >> 5 & 0x1;
+    pDst->shortGI160and80plus80MHz = tmp65__ >> 6 & 0x1;
+    pDst->txSTBC = tmp65__ >> 7 & 0x1;
+    pDst->rxSTBC = tmp65__ >> 8 & 0x7;
+    pDst->suBeamFormerCap = tmp65__ >> 11 & 0x1;
+    pDst->suBeamformeeCap = tmp65__ >> 12 & 0x1;
+    pDst->csnofBeamformerAntSup = tmp65__ >> 13 & 0x7;
+    pDst->numSoundingDim = tmp65__ >> 16 & 0x7;
+    pDst->muBeamformerCap = tmp65__ >> 19 & 0x1;
+    pDst->muBeamformeeCap = tmp65__ >> 20 & 0x1;
+    pDst->vhtTXOPPS = tmp65__ >> 21 & 0x1;
+    pDst->htcVHTCap = tmp65__ >> 22 & 0x1;
+    pDst->maxAMPDULenExp = tmp65__ >> 23 & 0x7;
+    pDst->vhtLinkAdaptCap = tmp65__ >> 26 & 0x3;
+    pDst->rxAntPattern = tmp65__ >> 28 & 0x1;
+    pDst->txAntPattern = tmp65__ >> 29 & 0x1;
+    pDst->reserved1 = tmp65__ >> 30 & 0x3;
     framesntohs(pCtx, &pDst->rxMCSMap, pBuf, 0);
     pBuf += 2;
     ielen -= (tANI_U8)2;
-    framesntohs(pCtx, &tmp61__, pBuf, 0);
+    framesntohs(pCtx, &tmp66__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->rxHighSupDataRate = tmp61__ >> 0 & 0x1fff;
-    pDst->reserved2 = tmp61__ >> 13 & 0x7;
+    pDst->rxHighSupDataRate = tmp66__ >> 0 & 0x1fff;
+    pDst->reserved2 = tmp66__ >> 13 & 0x7;
     framesntohs(pCtx, &pDst->txMCSMap, pBuf, 0);
     pBuf += 2;
     ielen -= (tANI_U8)2;
-    framesntohs(pCtx, &tmp62__, pBuf, 0);
-    pDst->txSupDataRate = tmp62__ >> 0 & 0x1fff;
-    pDst->reserved3 = tmp62__ >> 13 & 0x7;
+    framesntohs(pCtx, &tmp67__, pBuf, 0);
+    pDst->txSupDataRate = tmp67__ >> 0 & 0x1fff;
+    pDst->reserved3 = tmp67__ >> 13 & 0x7;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeVHTCaps. */
 
-#define SigIeVHTCaps ( 0x006d )
+#define SigIeVHTCaps ( 0x006f )
 
 
 tANI_U32 dot11fUnpackIeVHTExtBssLoad(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEVHTExtBssLoad *pDst)
@@ -4605,7 +4711,7 @@
     return status;
 } /* End dot11fUnpackIeVHTExtBssLoad. */
 
-#define SigIeVHTExtBssLoad ( 0x006e )
+#define SigIeVHTExtBssLoad ( 0x0070 )
 
 
 tANI_U32 dot11fUnpackIeVHTOperation(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEVHTOperation *pDst)
@@ -4628,13 +4734,13 @@
     return status;
 } /* End dot11fUnpackIeVHTOperation. */
 
-#define SigIeVHTOperation ( 0x006f )
+#define SigIeVHTOperation ( 0x0071 )
 
 
 tANI_U32 dot11fUnpackIeWAPI(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWAPI *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U16 tmp63__;
+    tANI_U16 tmp68__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
@@ -4671,11 +4777,11 @@
     DOT11F_MEMCPY(pCtx, pDst->multicast_cipher_suite, pBuf, 4);
     pBuf += 4;
     ielen -= (tANI_U8)4;
-    framesntohs(pCtx, &tmp63__, pBuf, 0);
+    framesntohs(pCtx, &tmp68__, pBuf, 0);
     pBuf += 2;
     ielen -= 2;
-    pDst->preauth = tmp63__ >> 0 & 0x1;
-    pDst->reserved = tmp63__ >> 1 & 0x7fff;
+    pDst->preauth = tmp68__ >> 0 & 0x1;
+    pDst->reserved = tmp68__ >> 1 & 0x7fff;
     if ( ! ielen )
     {
         pDst->bkid_count = 0U;
@@ -4697,7 +4803,7 @@
     return status;
 } /* End dot11fUnpackIeWAPI. */
 
-#define SigIeWAPI ( 0x0070 )
+#define SigIeWAPI ( 0x0072 )
 
 
 tANI_U32 dot11fUnpackIeWAPIOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWAPIOpaque *pDst)
@@ -4717,7 +4823,7 @@
     return status;
 } /* End dot11fUnpackIeWAPIOpaque. */
 
-#define SigIeWAPIOpaque ( 0x0071 )
+#define SigIeWAPIOpaque ( 0x0073 )
 
 
 tANI_U32 dot11fUnpackIeWFATPC(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWFATPC *pDst)
@@ -4734,7 +4840,7 @@
     return status;
 } /* End dot11fUnpackIeWFATPC. */
 
-#define SigIeWFATPC ( 0x0072 )
+#define SigIeWFATPC ( 0x0074 )
 
 
 tANI_U32 dot11fUnpackIeWFDIEOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWFDIEOpaque *pDst)
@@ -4754,13 +4860,13 @@
     return status;
 } /* End dot11fUnpackIeWFDIEOpaque. */
 
-#define SigIeWFDIEOpaque ( 0x0073 )
+#define SigIeWFDIEOpaque ( 0x0075 )
 
 
 tANI_U32 dot11fUnpackIeWMMCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMCaps *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp64__;
+    tANI_U8 tmp69__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
@@ -4772,76 +4878,76 @@
             pDst->present = 0;
             return ( status | DOT11F_BAD_FIXED_VALUE );
     }
-    tmp64__ = *pBuf;
-    pDst->reserved = tmp64__ >> 0 & 0xf;
-    pDst->qack = tmp64__ >> 4 & 0x1;
-    pDst->queue_request = tmp64__ >> 5 & 0x1;
-    pDst->txop_request = tmp64__ >> 6 & 0x1;
-    pDst->more_ack = tmp64__ >> 7 & 0x1;
+    tmp69__ = *pBuf;
+    pDst->reserved = tmp69__ >> 0 & 0xf;
+    pDst->qack = tmp69__ >> 4 & 0x1;
+    pDst->queue_request = tmp69__ >> 5 & 0x1;
+    pDst->txop_request = tmp69__ >> 6 & 0x1;
+    pDst->more_ack = tmp69__ >> 7 & 0x1;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeWMMCaps. */
 
-#define SigIeWMMCaps ( 0x0074 )
+#define SigIeWMMCaps ( 0x0076 )
 
 
 tANI_U32 dot11fUnpackIeWMMInfoAp(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMInfoAp *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp65__;
+    tANI_U8 tmp70__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
     pDst->version = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
-    tmp65__ = *pBuf;
-    pDst->param_set_count = tmp65__ >> 0 & 0xf;
-    pDst->reserved = tmp65__ >> 4 & 0x7;
-    pDst->uapsd = tmp65__ >> 7 & 0x1;
+    tmp70__ = *pBuf;
+    pDst->param_set_count = tmp70__ >> 0 & 0xf;
+    pDst->reserved = tmp70__ >> 4 & 0x7;
+    pDst->uapsd = tmp70__ >> 7 & 0x1;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeWMMInfoAp. */
 
-#define SigIeWMMInfoAp ( 0x0075 )
+#define SigIeWMMInfoAp ( 0x0077 )
 
 
 tANI_U32 dot11fUnpackIeWMMInfoStation(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMInfoStation *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp66__;
+    tANI_U8 tmp71__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
     pDst->version = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
-    tmp66__ = *pBuf;
-    pDst->acvo_uapsd = tmp66__ >> 0 & 0x1;
-    pDst->acvi_uapsd = tmp66__ >> 1 & 0x1;
-    pDst->acbk_uapsd = tmp66__ >> 2 & 0x1;
-    pDst->acbe_uapsd = tmp66__ >> 3 & 0x1;
-    pDst->reserved1 = tmp66__ >> 4 & 0x1;
-    pDst->max_sp_length = tmp66__ >> 5 & 0x3;
-    pDst->reserved2 = tmp66__ >> 7 & 0x1;
+    tmp71__ = *pBuf;
+    pDst->acvo_uapsd = tmp71__ >> 0 & 0x1;
+    pDst->acvi_uapsd = tmp71__ >> 1 & 0x1;
+    pDst->acbk_uapsd = tmp71__ >> 2 & 0x1;
+    pDst->acbe_uapsd = tmp71__ >> 3 & 0x1;
+    pDst->reserved1 = tmp71__ >> 4 & 0x1;
+    pDst->max_sp_length = tmp71__ >> 5 & 0x3;
+    pDst->reserved2 = tmp71__ >> 7 & 0x1;
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeWMMInfoStation. */
 
-#define SigIeWMMInfoStation ( 0x0076 )
+#define SigIeWMMInfoStation ( 0x0078 )
 
 
 tANI_U32 dot11fUnpackIeWMMParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMParams *pDst)
 {
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
-    tANI_U8 tmp67__;
-    tANI_U8 tmp68__;
-    tANI_U8 tmp69__;
-    tANI_U8 tmp70__;
-    tANI_U8 tmp71__;
     tANI_U8 tmp72__;
     tANI_U8 tmp73__;
     tANI_U8 tmp74__;
+    tANI_U8 tmp75__;
+    tANI_U8 tmp76__;
+    tANI_U8 tmp77__;
+    tANI_U8 tmp78__;
+    tANI_U8 tmp79__;
     (void) pBuf; (void)ielen; /* Shutup the compiler */
     if (pDst->present) status = DOT11F_DUPLICATE_IE;
     pDst->present = 1;
@@ -4859,69 +4965,69 @@
     pDst->reserved2 = *pBuf;
     pBuf += 1;
     ielen -= (tANI_U8)1;
-    tmp67__ = *pBuf;
-    pBuf += 1;
-    ielen -= 1;
-    pDst->acbe_aifsn = tmp67__ >> 0 & 0xf;
-    pDst->acbe_acm = tmp67__ >> 4 & 0x1;
-    pDst->acbe_aci = tmp67__ >> 5 & 0x3;
-    pDst->unused1 = tmp67__ >> 7 & 0x1;
-    tmp68__ = *pBuf;
-    pBuf += 1;
-    ielen -= 1;
-    pDst->acbe_acwmin = tmp68__ >> 0 & 0xf;
-    pDst->acbe_acwmax = tmp68__ >> 4 & 0xf;
-    framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
-    pBuf += 2;
-    ielen -= (tANI_U8)2;
-    tmp69__ = *pBuf;
-    pBuf += 1;
-    ielen -= 1;
-    pDst->acbk_aifsn = tmp69__ >> 0 & 0xf;
-    pDst->acbk_acm = tmp69__ >> 4 & 0x1;
-    pDst->acbk_aci = tmp69__ >> 5 & 0x3;
-    pDst->unused2 = tmp69__ >> 7 & 0x1;
-    tmp70__ = *pBuf;
-    pBuf += 1;
-    ielen -= 1;
-    pDst->acbk_acwmin = tmp70__ >> 0 & 0xf;
-    pDst->acbk_acwmax = tmp70__ >> 4 & 0xf;
-    framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
-    pBuf += 2;
-    ielen -= (tANI_U8)2;
-    tmp71__ = *pBuf;
-    pBuf += 1;
-    ielen -= 1;
-    pDst->acvi_aifsn = tmp71__ >> 0 & 0xf;
-    pDst->acvi_acm = tmp71__ >> 4 & 0x1;
-    pDst->acvi_aci = tmp71__ >> 5 & 0x3;
-    pDst->unused3 = tmp71__ >> 7 & 0x1;
     tmp72__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvi_acwmin = tmp72__ >> 0 & 0xf;
-    pDst->acvi_acwmax = tmp72__ >> 4 & 0xf;
-    framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
-    pBuf += 2;
-    ielen -= (tANI_U8)2;
+    pDst->acbe_aifsn = tmp72__ >> 0 & 0xf;
+    pDst->acbe_acm = tmp72__ >> 4 & 0x1;
+    pDst->acbe_aci = tmp72__ >> 5 & 0x3;
+    pDst->unused1 = tmp72__ >> 7 & 0x1;
     tmp73__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvo_aifsn = tmp73__ >> 0 & 0xf;
-    pDst->acvo_acm = tmp73__ >> 4 & 0x1;
-    pDst->acvo_aci = tmp73__ >> 5 & 0x3;
-    pDst->unused4 = tmp73__ >> 7 & 0x1;
+    pDst->acbe_acwmin = tmp73__ >> 0 & 0xf;
+    pDst->acbe_acwmax = tmp73__ >> 4 & 0xf;
+    framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
+    pBuf += 2;
+    ielen -= (tANI_U8)2;
     tmp74__ = *pBuf;
     pBuf += 1;
     ielen -= 1;
-    pDst->acvo_acwmin = tmp74__ >> 0 & 0xf;
-    pDst->acvo_acwmax = tmp74__ >> 4 & 0xf;
+    pDst->acbk_aifsn = tmp74__ >> 0 & 0xf;
+    pDst->acbk_acm = tmp74__ >> 4 & 0x1;
+    pDst->acbk_aci = tmp74__ >> 5 & 0x3;
+    pDst->unused2 = tmp74__ >> 7 & 0x1;
+    tmp75__ = *pBuf;
+    pBuf += 1;
+    ielen -= 1;
+    pDst->acbk_acwmin = tmp75__ >> 0 & 0xf;
+    pDst->acbk_acwmax = tmp75__ >> 4 & 0xf;
+    framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
+    pBuf += 2;
+    ielen -= (tANI_U8)2;
+    tmp76__ = *pBuf;
+    pBuf += 1;
+    ielen -= 1;
+    pDst->acvi_aifsn = tmp76__ >> 0 & 0xf;
+    pDst->acvi_acm = tmp76__ >> 4 & 0x1;
+    pDst->acvi_aci = tmp76__ >> 5 & 0x3;
+    pDst->unused3 = tmp76__ >> 7 & 0x1;
+    tmp77__ = *pBuf;
+    pBuf += 1;
+    ielen -= 1;
+    pDst->acvi_acwmin = tmp77__ >> 0 & 0xf;
+    pDst->acvi_acwmax = tmp77__ >> 4 & 0xf;
+    framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
+    pBuf += 2;
+    ielen -= (tANI_U8)2;
+    tmp78__ = *pBuf;
+    pBuf += 1;
+    ielen -= 1;
+    pDst->acvo_aifsn = tmp78__ >> 0 & 0xf;
+    pDst->acvo_acm = tmp78__ >> 4 & 0x1;
+    pDst->acvo_aci = tmp78__ >> 5 & 0x3;
+    pDst->unused4 = tmp78__ >> 7 & 0x1;
+    tmp79__ = *pBuf;
+    pBuf += 1;
+    ielen -= 1;
+    pDst->acvo_acwmin = tmp79__ >> 0 & 0xf;
+    pDst->acvo_acwmax = tmp79__ >> 4 & 0xf;
     framesntohs(pCtx, &pDst->acvo_txoplimit, pBuf, 0);
     (void)pCtx;
     return status;
 } /* End dot11fUnpackIeWMMParams. */
 
-#define SigIeWMMParams ( 0x0077 )
+#define SigIeWMMParams ( 0x0079 )
 
 
 tANI_U32 dot11fUnpackIeWPA(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWPA *pDst)
@@ -5003,7 +5109,7 @@
     return status;
 } /* End dot11fUnpackIeWPA. */
 
-#define SigIeWPA ( 0x0078 )
+#define SigIeWPA ( 0x007a )
 
 
 tANI_U32 dot11fUnpackIeWPAOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWPAOpaque *pDst)
@@ -5023,7 +5129,7 @@
     return status;
 } /* End dot11fUnpackIeWPAOpaque. */
 
-#define SigIeWPAOpaque ( 0x0079 )
+#define SigIeWPAOpaque ( 0x007b )
 
 
     static const tTLVDefn TLVS_WSC[ ] = {
@@ -5061,7 +5167,7 @@
     return status;
 } /* End dot11fUnpackIeWSC. */
 
-#define SigIeWSC ( 0x007a )
+#define SigIeWSC ( 0x007c )
 
 
     static const tTLVDefn TLVS_WscAssocReq[ ] = {
@@ -5080,7 +5186,7 @@
     return status;
 } /* End dot11fUnpackIeWscAssocReq. */
 
-#define SigIeWscAssocReq ( 0x007b )
+#define SigIeWscAssocReq ( 0x007d )
 
 
     static const tTLVDefn TLVS_WscAssocRes[ ] = {
@@ -5099,7 +5205,7 @@
     return status;
 } /* End dot11fUnpackIeWscAssocRes. */
 
-#define SigIeWscAssocRes ( 0x007c )
+#define SigIeWscAssocRes ( 0x007e )
 
 
     static const tTLVDefn TLVS_WscBeacon[ ] = {
@@ -5124,7 +5230,7 @@
     return status;
 } /* End dot11fUnpackIeWscBeacon. */
 
-#define SigIeWscBeacon ( 0x007d )
+#define SigIeWscBeacon ( 0x007f )
 
 
     static const tTLVDefn TLVS_WscBeaconProbeRes[ ] = {
@@ -5157,7 +5263,7 @@
     return status;
 } /* End dot11fUnpackIeWscBeaconProbeRes. */
 
-#define SigIeWscBeaconProbeRes ( 0x007e )
+#define SigIeWscBeaconProbeRes ( 0x0080 )
 
 
 tANI_U32 dot11fUnpackIeWscIEOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWscIEOpaque *pDst)
@@ -5177,7 +5283,7 @@
     return status;
 } /* End dot11fUnpackIeWscIEOpaque. */
 
-#define SigIeWscIEOpaque ( 0x007f )
+#define SigIeWscIEOpaque ( 0x0081 )
 
 
     static const tTLVDefn TLVS_WscProbeReq[ ] = {
@@ -5208,7 +5314,7 @@
     return status;
 } /* End dot11fUnpackIeWscProbeReq. */
 
-#define SigIeWscProbeReq ( 0x0080 )
+#define SigIeWscProbeReq ( 0x0082 )
 
 
     static const tTLVDefn TLVS_WscProbeRes[ ] = {
@@ -5241,7 +5347,7 @@
     return status;
 } /* End dot11fUnpackIeWscProbeRes. */
 
-#define SigIeWscProbeRes ( 0x0081 )
+#define SigIeWscProbeRes ( 0x0083 )
 
 
     static const tTLVDefn TLVS_WscReassocRes[ ] = {
@@ -5260,7 +5366,7 @@
     return status;
 } /* End dot11fUnpackIeWscReassocRes. */
 
-#define SigIeWscReassocRes ( 0x0082 )
+#define SigIeWscReassocRes ( 0x0084 )
 
 
     static const tFFDefn FFS_AddBAReq[] = {
@@ -5917,6 +6023,7 @@
         {offsetof(tDot11fAssocRequest, P2PIEOpaque), offsetof(tDot11fIEP2PIEOpaque, present), 0, "P2PIEOpaque" , 0, 8, 255, SigIeP2PIEOpaque, {80, 111, 154, 9, 0}, 4, DOT11F_EID_P2PIEOPAQUE, 0, },
         {offsetof(tDot11fAssocRequest, WFDIEOpaque), offsetof(tDot11fIEWFDIEOpaque, present), 0, "WFDIEOpaque" , 0, 8, 255, SigIeWFDIEOpaque, {80, 111, 154, 10, 0}, 4, DOT11F_EID_WFDIEOPAQUE, 0, },
         {offsetof(tDot11fAssocRequest, VHTCaps), offsetof(tDot11fIEVHTCaps, present), 0, "VHTCaps" , 0, 14, 14, SigIeVHTCaps, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTCAPS, 0, },
+        {offsetof(tDot11fAssocRequest, ExtCap), offsetof(tDot11fIEExtCap, present), 0, "ExtCap" , 0, 10, 10, SigIeExtCap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_EXTCAP, 0, },
         {offsetof(tDot11fAssocRequest, OperatingMode), offsetof(tDot11fIEOperatingMode, present), 0, "OperatingMode" , 0, 3, 3, SigIeOperatingMode, {0, 0, 0, 0, 0}, 0, DOT11F_EID_OPERATINGMODE, 0, },
     {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },    };
 
@@ -6478,6 +6585,64 @@
             FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("txSupDataRate (13): %d\n"), pFrm->VHTCaps.txSupDataRate);
             FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved3 (3): %d\n"), pFrm->VHTCaps.reserved3);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
         FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("OperatingMode:\n"));
         if (!pFrm->OperatingMode.present)
         {
@@ -6527,6 +6692,7 @@
         {offsetof(tDot11fAssocResponse, P2PAssocRes), offsetof(tDot11fIEP2PAssocRes, present), 0, "P2PAssocRes" , 0, 6, 17, SigIeP2PAssocRes, {80, 111, 154, 9, 0}, 4, DOT11F_EID_P2PASSOCRES, 0, },
         {offsetof(tDot11fAssocResponse, VHTCaps), offsetof(tDot11fIEVHTCaps, present), 0, "VHTCaps" , 0, 14, 14, SigIeVHTCaps, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTCAPS, 0, },
         {offsetof(tDot11fAssocResponse, VHTOperation), offsetof(tDot11fIEVHTOperation, present), 0, "VHTOperation" , 0, 7, 7, SigIeVHTOperation, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTOPERATION, 0, },
+        {offsetof(tDot11fAssocResponse, ExtCap), offsetof(tDot11fIEExtCap, present), 0, "ExtCap" , 0, 10, 10, SigIeExtCap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_EXTCAP, 0, },
     {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },    };
 
 tANI_U32 dot11fUnpackAssocResponse(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fAssocResponse *pFrm)
@@ -7574,6 +7740,64 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), ( tANI_U8* )&pFrm->VHTOperation.chanCenterFreqSeg2, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), ( tANI_U8* )&pFrm->VHTOperation.basicMCSSet, 2);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
     }
 #   endif // DOT11F_DUMP_FRAMES
     return status;
@@ -8025,6 +8249,8 @@
         {offsetof(tDot11fBeacon, VHTCaps), offsetof(tDot11fIEVHTCaps, present), 0, "VHTCaps" , 0, 14, 14, SigIeVHTCaps, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTCAPS, 0, },
         {offsetof(tDot11fBeacon, VHTOperation), offsetof(tDot11fIEVHTOperation, present), 0, "VHTOperation" , 0, 7, 7, SigIeVHTOperation, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTOPERATION, 0, },
         {offsetof(tDot11fBeacon, VHTExtBssLoad), offsetof(tDot11fIEVHTExtBssLoad, present), 0, "VHTExtBssLoad" , 0, 7, 7, SigIeVHTExtBssLoad, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTEXTBSSLOAD, 0, },
+        {offsetof(tDot11fBeacon, ExtCap), offsetof(tDot11fIEExtCap, present), 0, "ExtCap" , 0, 10, 10, SigIeExtCap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_EXTCAP, 0, },
+        {offsetof(tDot11fBeacon, OperatingMode), offsetof(tDot11fIEOperatingMode, present), 0, "OperatingMode" , 0, 3, 3, SigIeOperatingMode, {0, 0, 0, 0, 0}, 0, DOT11F_EID_OPERATINGMODE, 0, },
     {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },    };
 
 tANI_U32 dot11fUnpackBeacon(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fBeacon *pFrm)
@@ -9030,6 +9256,76 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), ( tANI_U8* )&pFrm->VHTExtBssLoad.EightyMHzUtil, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), ( tANI_U8* )&pFrm->VHTExtBssLoad.OneSixtyMHzUtil, 1);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("OperatingMode:\n"));
+        if (!pFrm->OperatingMode.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("chanWidth (2): %d\n"), pFrm->OperatingMode.chanWidth);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved (2): %d\n"), pFrm->OperatingMode.reserved);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("rxNSS (3): %d\n"), pFrm->OperatingMode.rxNSS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("rxNSSType (1): %d\n"), pFrm->OperatingMode.rxNSSType);
+        }
     }
 #   endif // DOT11F_DUMP_FRAMES
     return status;
@@ -9162,6 +9458,8 @@
         {offsetof(tDot11fBeacon2, VHTCaps), offsetof(tDot11fIEVHTCaps, present), 0, "VHTCaps" , 0, 14, 14, SigIeVHTCaps, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTCAPS, 0, },
         {offsetof(tDot11fBeacon2, VHTOperation), offsetof(tDot11fIEVHTOperation, present), 0, "VHTOperation" , 0, 7, 7, SigIeVHTOperation, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTOPERATION, 0, },
         {offsetof(tDot11fBeacon2, VHTExtBssLoad), offsetof(tDot11fIEVHTExtBssLoad, present), 0, "VHTExtBssLoad" , 0, 7, 7, SigIeVHTExtBssLoad, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTEXTBSSLOAD, 0, },
+        {offsetof(tDot11fBeacon2, ExtCap), offsetof(tDot11fIEExtCap, present), 0, "ExtCap" , 0, 10, 10, SigIeExtCap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_EXTCAP, 0, },
+        {offsetof(tDot11fBeacon2, OperatingMode), offsetof(tDot11fIEOperatingMode, present), 0, "OperatingMode" , 0, 3, 3, SigIeOperatingMode, {0, 0, 0, 0, 0}, 0, DOT11F_EID_OPERATINGMODE, 0, },
     {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },    };
 
 tANI_U32 dot11fUnpackBeacon2(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fBeacon2 *pFrm)
@@ -10023,6 +10321,76 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), ( tANI_U8* )&pFrm->VHTExtBssLoad.EightyMHzUtil, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), ( tANI_U8* )&pFrm->VHTExtBssLoad.OneSixtyMHzUtil, 1);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("OperatingMode:\n"));
+        if (!pFrm->OperatingMode.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("chanWidth (2): %d\n"), pFrm->OperatingMode.chanWidth);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved (2): %d\n"), pFrm->OperatingMode.reserved);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("rxNSS (3): %d\n"), pFrm->OperatingMode.rxNSS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("rxNSSType (1): %d\n"), pFrm->OperatingMode.rxNSSType);
+        }
     }
 #   endif // DOT11F_DUMP_FRAMES
     return status;
@@ -10075,6 +10443,8 @@
         {offsetof(tDot11fBeaconIEs, VHTCaps), offsetof(tDot11fIEVHTCaps, present), 0, "VHTCaps" , 0, 14, 14, SigIeVHTCaps, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTCAPS, 0, },
         {offsetof(tDot11fBeaconIEs, VHTOperation), offsetof(tDot11fIEVHTOperation, present), 0, "VHTOperation" , 0, 7, 7, SigIeVHTOperation, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTOPERATION, 0, },
         {offsetof(tDot11fBeaconIEs, VHTExtBssLoad), offsetof(tDot11fIEVHTExtBssLoad, present), 0, "VHTExtBssLoad" , 0, 7, 7, SigIeVHTExtBssLoad, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTEXTBSSLOAD, 0, },
+        {offsetof(tDot11fBeaconIEs, ExtCap), offsetof(tDot11fIEExtCap, present), 0, "ExtCap" , 0, 10, 10, SigIeExtCap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_EXTCAP, 0, },
+        {offsetof(tDot11fBeaconIEs, OperatingMode), offsetof(tDot11fIEOperatingMode, present), 0, "OperatingMode" , 0, 3, 3, SigIeOperatingMode, {0, 0, 0, 0, 0}, 0, DOT11F_EID_OPERATINGMODE, 0, },
     {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },    };
 
 tANI_U32 dot11fUnpackBeaconIEs(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fBeaconIEs *pFrm)
@@ -11188,6 +11558,76 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), ( tANI_U8* )&pFrm->VHTExtBssLoad.EightyMHzUtil, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), ( tANI_U8* )&pFrm->VHTExtBssLoad.OneSixtyMHzUtil, 1);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("OperatingMode:\n"));
+        if (!pFrm->OperatingMode.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("chanWidth (2): %d\n"), pFrm->OperatingMode.chanWidth);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved (2): %d\n"), pFrm->OperatingMode.reserved);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("rxNSS (3): %d\n"), pFrm->OperatingMode.rxNSS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("rxNSSType (1): %d\n"), pFrm->OperatingMode.rxNSSType);
+        }
     }
 #   endif // DOT11F_DUMP_FRAMES
     return status;
@@ -12812,6 +13252,44 @@
 
 } /* End dot11fUnpackNoticeOfAbs. */
 
+    static const tFFDefn FFS_OperatingMode[] = {
+        { "Category", offsetof(tDot11fOperatingMode, Category), SigFfCategory , DOT11F_FF_CATEGORY_LEN, },
+        { "Action", offsetof(tDot11fOperatingMode, Action), SigFfAction , DOT11F_FF_ACTION_LEN, },
+        { "OperatingMode", offsetof(tDot11fOperatingMode, OperatingMode), SigFfOperatingMode , DOT11F_FF_OPERATINGMODE_LEN, },
+    { NULL, 0, 0, 0,},
+    };
+
+    static const tIEDefn IES_OperatingMode[] = {
+    {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },    };
+
+tANI_U32 dot11fUnpackOperatingMode(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fOperatingMode *pFrm)
+{
+    tANI_U32 i = 0;
+    tANI_U32 status = 0;
+    status = UnpackCore(pCtx, pBuf, nBuf, FFS_OperatingMode, IES_OperatingMode, ( tANI_U8* )pFrm, sizeof(*pFrm));
+
+    (void)i;
+#   ifdef DOT11F_DUMP_FRAMES
+    if (!DOT11F_FAILED(status))
+    {
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("Unpacked the OperatingMode:\n"));
+        FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), pBuf, nBuf);
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("to:\n"));
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("Category:\n"));
+        FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), ( tANI_U8* )&pFrm->Category.category, 1);
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("Action:\n"));
+        FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), ( tANI_U8* )&pFrm->Action.action, 1);
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("OperatingMode:\n"));
+        FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("chanWidth (2): %d\n"), pFrm->OperatingMode.chanWidth);
+        FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("reserved (2): %d\n"), pFrm->OperatingMode.reserved);
+        FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("rxNSS (3): %d\n"), pFrm->OperatingMode.rxNSS);
+        FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("rxNSSType (1): %d\n"), pFrm->OperatingMode.rxNSSType);
+    }
+#   endif // DOT11F_DUMP_FRAMES
+    return status;
+
+} /* End dot11fUnpackOperatingMode. */
+
     static const tFFDefn FFS_PresenceReq[] = {
         { "Category", offsetof(tDot11fPresenceReq, Category), SigFfCategory , DOT11F_FF_CATEGORY_LEN, },
         { "P2POUI", offsetof(tDot11fPresenceReq, P2POUI), SigFfP2POUI , DOT11F_FF_P2POUI_LEN, },
@@ -13410,6 +13888,7 @@
         {offsetof(tDot11fProbeResponse, VHTCaps), offsetof(tDot11fIEVHTCaps, present), 0, "VHTCaps" , 0, 14, 14, SigIeVHTCaps, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTCAPS, 0, },
         {offsetof(tDot11fProbeResponse, VHTOperation), offsetof(tDot11fIEVHTOperation, present), 0, "VHTOperation" , 0, 7, 7, SigIeVHTOperation, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTOPERATION, 0, },
         {offsetof(tDot11fProbeResponse, VHTExtBssLoad), offsetof(tDot11fIEVHTExtBssLoad, present), 0, "VHTExtBssLoad" , 0, 7, 7, SigIeVHTExtBssLoad, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTEXTBSSLOAD, 0, },
+        {offsetof(tDot11fProbeResponse, ExtCap), offsetof(tDot11fIEExtCap, present), 0, "ExtCap" , 0, 10, 10, SigIeExtCap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_EXTCAP, 0, },
     {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },    };
 
 tANI_U32 dot11fUnpackProbeResponse(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fProbeResponse *pFrm)
@@ -14500,6 +14979,64 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), ( tANI_U8* )&pFrm->VHTExtBssLoad.EightyMHzUtil, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), ( tANI_U8* )&pFrm->VHTExtBssLoad.OneSixtyMHzUtil, 1);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
     }
 #   endif // DOT11F_DUMP_FRAMES
     return status;
@@ -14874,6 +15411,7 @@
         {offsetof(tDot11fReAssocRequest, P2PIEOpaque), offsetof(tDot11fIEP2PIEOpaque, present), 0, "P2PIEOpaque" , 0, 8, 255, SigIeP2PIEOpaque, {80, 111, 154, 9, 0}, 4, DOT11F_EID_P2PIEOPAQUE, 0, },
         {offsetof(tDot11fReAssocRequest, WFDIEOpaque), offsetof(tDot11fIEWFDIEOpaque, present), 0, "WFDIEOpaque" , 0, 8, 255, SigIeWFDIEOpaque, {80, 111, 154, 10, 0}, 4, DOT11F_EID_WFDIEOPAQUE, 0, },
         {offsetof(tDot11fReAssocRequest, VHTCaps), offsetof(tDot11fIEVHTCaps, present), 0, "VHTCaps" , 0, 14, 14, SigIeVHTCaps, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTCAPS, 0, },
+        {offsetof(tDot11fReAssocRequest, ExtCap), offsetof(tDot11fIEExtCap, present), 0, "ExtCap" , 0, 10, 10, SigIeExtCap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_EXTCAP, 0, },
         {offsetof(tDot11fReAssocRequest, OperatingMode), offsetof(tDot11fIEOperatingMode, present), 0, "OperatingMode" , 0, 3, 3, SigIeOperatingMode, {0, 0, 0, 0, 0}, 0, DOT11F_EID_OPERATINGMODE, 0, },
     {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },    };
 
@@ -15810,6 +16348,64 @@
             FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("txSupDataRate (13): %d\n"), pFrm->VHTCaps.txSupDataRate);
             FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved3 (3): %d\n"), pFrm->VHTCaps.reserved3);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
         FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("OperatingMode:\n"));
         if (!pFrm->OperatingMode.present)
         {
@@ -15860,6 +16456,7 @@
         {offsetof(tDot11fReAssocResponse, P2PAssocRes), offsetof(tDot11fIEP2PAssocRes, present), 0, "P2PAssocRes" , 0, 6, 17, SigIeP2PAssocRes, {80, 111, 154, 9, 0}, 4, DOT11F_EID_P2PASSOCRES, 0, },
         {offsetof(tDot11fReAssocResponse, VHTCaps), offsetof(tDot11fIEVHTCaps, present), 0, "VHTCaps" , 0, 14, 14, SigIeVHTCaps, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTCAPS, 0, },
         {offsetof(tDot11fReAssocResponse, VHTOperation), offsetof(tDot11fIEVHTOperation, present), 0, "VHTOperation" , 0, 7, 7, SigIeVHTOperation, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTOPERATION, 0, },
+        {offsetof(tDot11fReAssocResponse, ExtCap), offsetof(tDot11fIEExtCap, present), 0, "ExtCap" , 0, 10, 10, SigIeExtCap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_EXTCAP, 0, },
     {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },    };
 
 tANI_U32 dot11fUnpackReAssocResponse(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fReAssocResponse *pFrm)
@@ -16914,6 +17511,64 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), ( tANI_U8* )&pFrm->VHTOperation.chanCenterFreqSeg2, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), ( tANI_U8* )&pFrm->VHTOperation.basicMCSSet, 2);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
     }
 #   endif // DOT11F_DUMP_FRAMES
     return status;
@@ -17397,6 +18052,9 @@
         case SigFfNumOfRepetitions:
             dot11fUnpackFfNumOfRepetitions(pCtx, pBufRemaining, ( tDot11fFfNumOfRepetitions* )(pFrm + pFf->offset ));
             break;
+        case SigFfOperatingMode:
+            dot11fUnpackFfOperatingMode(pCtx, pBufRemaining, ( tDot11fFfOperatingMode* )(pFrm + pFf->offset ));
+            break;
         case SigFfP2POUI:
             dot11fUnpackFfP2POUI(pCtx, pBufRemaining, ( tDot11fFfP2POUI* )(pFrm + pFf->offset ));
             break;
@@ -17710,6 +18368,9 @@
                 case SigIeERPInfo:
                         status |= dot11fUnpackIeERPInfo(pCtx, pBufRemaining, len, ( tDot11fIEERPInfo* )(pFrm + pIe->offset + sizeof(tDot11fIEERPInfo)*countOffset) );
                             break;
+                case SigIeExtCap:
+                        status |= dot11fUnpackIeExtCap(pCtx, pBufRemaining, len, ( tDot11fIEExtCap* )(pFrm + pIe->offset + sizeof(tDot11fIEExtCap)*countOffset) );
+                            break;
                 case SigIeExtChanSwitchAnn:
                         status |= dot11fUnpackIeCommonFunc(pCtx, pBufRemaining, len,
                                                 (tANI_U8*) &(((  tDot11fIEExtChanSwitchAnn* )(pFrm + pIe->offset + sizeof( tDot11fIEExtChanSwitchAnn)*countOffset ) )->present),
@@ -17754,6 +18415,9 @@
                 case SigIeNeighborReport:
                         status |= dot11fUnpackIeNeighborReport(pCtx, pBufRemaining, len, ( tDot11fIENeighborReport* )(pFrm + pIe->offset + sizeof(tDot11fIENeighborReport)*countOffset) );
                             break;
+                case SigIeOperatingMode:
+                        status |= dot11fUnpackIeOperatingMode(pCtx, pBufRemaining, len, ( tDot11fIEOperatingMode* )(pFrm + pIe->offset + sizeof(tDot11fIEOperatingMode)*countOffset) );
+                            break;
                 case SigIeP2PAssocReq:
                         status |= dot11fUnpackIeP2PAssocReq(pCtx, pBufRemaining, len, ( tDot11fIEP2PAssocReq* )(pFrm + pIe->offset + sizeof(tDot11fIEP2PAssocReq)*countOffset) );
                             break;
@@ -19278,6 +19942,14 @@
     return status;
 } /* End dot11fGetPackedNoticeOfAbsSize. */
 
+tANI_U32 dot11fGetPackedOperatingModeSize(tpAniSirGlobal pCtx, tDot11fOperatingMode *pFrm, tANI_U32 *pnNeeded)
+{
+    tANI_U32 status = 0;
+    *pnNeeded = 3;
+    status = GetPackedSizeCore(pCtx, ( tANI_U8* )pFrm, pnNeeded, IES_OperatingMode);
+    return status;
+} /* End dot11fGetPackedOperatingModeSize. */
+
 tANI_U32 dot11fGetPackedPresenceReqSize(tpAniSirGlobal pCtx, tDot11fPresenceReq *pFrm, tANI_U32 *pnNeeded)
 {
     tANI_U32 status = 0;
@@ -19719,6 +20391,11 @@
                             byteCount = 1;
                             pIePresent = ( (tDot11fIEERPInfo* )(pFrm + pIe->offset + offset * i  ))->present;
                             break;
+                case SigIeExtCap:
+                            offset = sizeof(tDot11fIEExtCap);
+                            byteCount = 8;
+                            pIePresent = ( (tDot11fIEExtCap* )(pFrm + pIe->offset + offset * i  ))->present;
+                            break;
                 case SigIeExtChanSwitchAnn:
                             offset = sizeof(tDot11fIEExtChanSwitchAnn);
                             byteCount = 1;
@@ -19785,6 +20462,11 @@
                             offset = sizeof(tDot11fIENeighborReport);
                             status |= dot11fGetPackedIENeighborReport(pCtx, ( tDot11fIENeighborReport* )(pFrm + pIe->offset + offset * i ), pnNeeded);
                             break;
+                case SigIeOperatingMode:
+                            offset = sizeof(tDot11fIEOperatingMode);
+                            byteCount = 1;
+                            pIePresent = ( (tDot11fIEOperatingMode* )(pFrm + pIe->offset + offset * i  ))->present;
+                            break;
                 case SigIeP2PAssocReq:
                             offset = sizeof(tDot11fIEP2PAssocReq);
                             status |= dot11fGetPackedIEP2PAssocReq(pCtx, ( tDot11fIEP2PAssocReq* )(pFrm + pIe->offset + offset * i ), pnNeeded);
@@ -20301,13 +20983,13 @@
                                    tDot11fFfAddBAParameterSet *pSrc,
                                    tANI_U8 *pBuf)
 {
-    tANI_U16 tmp75__;
-    tmp75__ = 0U;
-    tmp75__ |= ( pSrc->amsduSupported << 0 );
-    tmp75__ |= ( pSrc->policy << 1 );
-    tmp75__ |= ( pSrc->tid << 2 );
-    tmp75__ |= ( pSrc->bufferSize << 6 );
-    frameshtons(pCtx, pBuf, tmp75__, 0);
+    tANI_U16 tmp80__;
+    tmp80__ = 0U;
+    tmp80__ |= ( pSrc->amsduSupported << 0 );
+    tmp80__ |= ( pSrc->policy << 1 );
+    tmp80__ |= ( pSrc->tid << 2 );
+    tmp80__ |= ( pSrc->bufferSize << 6 );
+    frameshtons(pCtx, pBuf, tmp80__, 0);
     (void)pCtx;
 } /* End dot11fPackFfAddBAParameterSet. */
 
@@ -20331,11 +21013,11 @@
                                            tDot11fFfBAStartingSequenceControl *pSrc,
                                            tANI_U8 *pBuf)
 {
-    tANI_U16 tmp76__;
-    tmp76__ = 0U;
-    tmp76__ |= ( pSrc->fragNumber << 0 );
-    tmp76__ |= ( pSrc->ssn << 4 );
-    frameshtons(pCtx, pBuf, tmp76__, 0);
+    tANI_U16 tmp81__;
+    tmp81__ = 0U;
+    tmp81__ |= ( pSrc->fragNumber << 0 );
+    tmp81__ |= ( pSrc->ssn << 4 );
+    frameshtons(pCtx, pBuf, tmp81__, 0);
     (void)pCtx;
 } /* End dot11fPackFfBAStartingSequenceControl. */
 
@@ -20359,25 +21041,25 @@
                               tDot11fFfCapabilities *pSrc,
                               tANI_U8 *pBuf)
 {
-    tANI_U16 tmp77__;
-    tmp77__ = 0U;
-    tmp77__ |= ( pSrc->ess << 0 );
-    tmp77__ |= ( pSrc->ibss << 1 );
-    tmp77__ |= ( pSrc->cfPollable << 2 );
-    tmp77__ |= ( pSrc->cfPollReq << 3 );
-    tmp77__ |= ( pSrc->privacy << 4 );
-    tmp77__ |= ( pSrc->shortPreamble << 5 );
-    tmp77__ |= ( pSrc->pbcc << 6 );
-    tmp77__ |= ( pSrc->channelAgility << 7 );
-    tmp77__ |= ( pSrc->spectrumMgt << 8 );
-    tmp77__ |= ( pSrc->qos << 9 );
-    tmp77__ |= ( pSrc->shortSlotTime << 10 );
-    tmp77__ |= ( pSrc->apsd << 11 );
-    tmp77__ |= ( pSrc->rrm << 12 );
-    tmp77__ |= ( pSrc->dsssOfdm << 13 );
-    tmp77__ |= ( pSrc->delayedBA << 14 );
-    tmp77__ |= ( pSrc->immediateBA << 15 );
-    frameshtons(pCtx, pBuf, tmp77__, 0);
+    tANI_U16 tmp82__;
+    tmp82__ = 0U;
+    tmp82__ |= ( pSrc->ess << 0 );
+    tmp82__ |= ( pSrc->ibss << 1 );
+    tmp82__ |= ( pSrc->cfPollable << 2 );
+    tmp82__ |= ( pSrc->cfPollReq << 3 );
+    tmp82__ |= ( pSrc->privacy << 4 );
+    tmp82__ |= ( pSrc->shortPreamble << 5 );
+    tmp82__ |= ( pSrc->pbcc << 6 );
+    tmp82__ |= ( pSrc->channelAgility << 7 );
+    tmp82__ |= ( pSrc->spectrumMgt << 8 );
+    tmp82__ |= ( pSrc->qos << 9 );
+    tmp82__ |= ( pSrc->shortSlotTime << 10 );
+    tmp82__ |= ( pSrc->apsd << 11 );
+    tmp82__ |= ( pSrc->rrm << 12 );
+    tmp82__ |= ( pSrc->dsssOfdm << 13 );
+    tmp82__ |= ( pSrc->delayedBA << 14 );
+    tmp82__ |= ( pSrc->immediateBA << 15 );
+    frameshtons(pCtx, pBuf, tmp82__, 0);
     (void)pCtx;
 } /* End dot11fPackFfCapabilities. */
 
@@ -20401,12 +21083,12 @@
                                    tDot11fFfDelBAParameterSet *pSrc,
                                    tANI_U8 *pBuf)
 {
-    tANI_U16 tmp78__;
-    tmp78__ = 0U;
-    tmp78__ |= ( pSrc->reserved << 0 );
-    tmp78__ |= ( pSrc->initiator << 11 );
-    tmp78__ |= ( pSrc->tid << 12 );
-    frameshtons(pCtx, pBuf, tmp78__, 0);
+    tANI_U16 tmp83__;
+    tmp83__ = 0U;
+    tmp83__ |= ( pSrc->reserved << 0 );
+    tmp83__ |= ( pSrc->initiator << 11 );
+    tmp83__ |= ( pSrc->tid << 12 );
+    frameshtons(pCtx, pBuf, tmp83__, 0);
     (void)pCtx;
 } /* End dot11fPackFfDelBAParameterSet. */
 
@@ -20450,6 +21132,20 @@
     (void)pCtx;
 } /* End dot11fPackFfNumOfRepetitions. */
 
+void dot11fPackFfOperatingMode(tpAniSirGlobal pCtx,
+                               tDot11fFfOperatingMode *pSrc,
+                               tANI_U8 *pBuf)
+{
+    tANI_U8 tmp84__;
+    tmp84__ = 0U;
+    tmp84__ |= ( pSrc->chanWidth << 0 );
+    tmp84__ |= ( pSrc->reserved << 2 );
+    tmp84__ |= ( pSrc->rxNSS << 4 );
+    tmp84__ |= ( pSrc->rxNSSType << 7 );
+    *pBuf = tmp84__;
+    (void)pCtx;
+} /* End dot11fPackFfOperatingMode. */
+
 void dot11fPackFfP2POUI(tpAniSirGlobal pCtx,
                         tDot11fFfP2POUI *pSrc,
                         tANI_U8 *pBuf)
@@ -20502,12 +21198,12 @@
                                 tDot11fFfSMPowerModeSet *pSrc,
                                 tANI_U8 *pBuf)
 {
-    tANI_U8 tmp79__;
-    tmp79__ = 0U;
-    tmp79__ |= ( pSrc->PowerSave_En << 0 );
-    tmp79__ |= ( pSrc->Mode << 1 );
-    tmp79__ |= ( pSrc->reserved << 2 );
-    *pBuf = tmp79__;
+    tANI_U8 tmp85__;
+    tmp85__ = 0U;
+    tmp85__ |= ( pSrc->PowerSave_En << 0 );
+    tmp85__ |= ( pSrc->Mode << 1 );
+    tmp85__ |= ( pSrc->reserved << 2 );
+    *pBuf = tmp85__;
     (void)pCtx;
 } /* End dot11fPackFfSMPowerModeSet. */
 
@@ -20547,19 +21243,19 @@
                         tDot11fFfTSInfo *pSrc,
                         tANI_U8 *pBuf)
 {
-    tANI_U32 tmp80__;
-    tmp80__ = 0U;
-    tmp80__ |= ( pSrc->traffic_type << 0 );
-    tmp80__ |= ( pSrc->tsid << 1 );
-    tmp80__ |= ( pSrc->direction << 5 );
-    tmp80__ |= ( pSrc->access_policy << 7 );
-    tmp80__ |= ( pSrc->aggregation << 9 );
-    tmp80__ |= ( pSrc->psb << 10 );
-    tmp80__ |= ( pSrc->user_priority << 11 );
-    tmp80__ |= ( pSrc->tsinfo_ack_pol << 14 );
-    tmp80__ |= ( pSrc->schedule << 16 );
-    tmp80__ |= ( pSrc->unused << 17 );
-    frameshtonl(pCtx, pBuf, tmp80__, 0);
+    tANI_U32 tmp86__;
+    tmp86__ = 0U;
+    tmp86__ |= ( pSrc->traffic_type << 0 );
+    tmp86__ |= ( pSrc->tsid << 1 );
+    tmp86__ |= ( pSrc->direction << 5 );
+    tmp86__ |= ( pSrc->access_policy << 7 );
+    tmp86__ |= ( pSrc->aggregation << 9 );
+    tmp86__ |= ( pSrc->psb << 10 );
+    tmp86__ |= ( pSrc->user_priority << 11 );
+    tmp86__ |= ( pSrc->tsinfo_ack_pol << 14 );
+    tmp86__ |= ( pSrc->schedule << 16 );
+    tmp86__ |= ( pSrc->unused << 17 );
+    frameshtonl(pCtx, pBuf, tmp86__, 0);
     (void)pCtx;
 } /* End dot11fPackFfTSInfo. */
 
@@ -20656,7 +21352,7 @@
     tANI_U8* pTlvLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp81__;
+    tANI_U8 tmp87__;
     nNeeded += 3;
     if ( nNeeded > nBuf ) return DOT11F_BUFFER_OVERFLOW;
     while ( pSrc->present )
@@ -20665,10 +21361,10 @@
         pBuf += 1; *pnConsumed += 1;
         pTlvLen = pBuf;
         pBuf += 1; *pnConsumed += 1;
-        tmp81__ = 0U;
-        tmp81__ |= ( pSrc->minor << 0 );
-        tmp81__ |= ( pSrc->major << 4 );
-        *pBuf = tmp81__;
+        tmp87__ = 0U;
+        tmp87__ |= ( pSrc->minor << 0 );
+        tmp87__ |= ( pSrc->major << 4 );
+        *pBuf = tmp87__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
@@ -21877,7 +22573,7 @@
     tANI_U8* pTlvLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp82__;
+    tANI_U8 tmp88__;
     nNeeded += 5;
     if ( nNeeded > nBuf ) return DOT11F_BUFFER_OVERFLOW;
     while ( pSrc->present )
@@ -21886,10 +22582,10 @@
         pBuf += 2; *pnConsumed += 2;
         pTlvLen = pBuf;
         pBuf += 2; *pnConsumed += 2;
-        tmp82__ = 0U;
-        tmp82__ |= ( pSrc->minor << 0 );
-        tmp82__ |= ( pSrc->major << 4 );
-        *pBuf = tmp82__;
+        tmp88__ = 0U;
+        tmp88__ |= ( pSrc->minor << 0 );
+        tmp88__ |= ( pSrc->major << 4 );
+        *pBuf = tmp88__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
@@ -22095,7 +22791,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U16 tmp83__;
+    tANI_U16 tmp89__;
     nNeeded  +=  (pSrc->num_key + 11);
     while ( pSrc->present )
     {
@@ -22104,10 +22800,10 @@
         ++pBuf; ++(*pnConsumed);
         pIeLen = pBuf;
         ++pBuf; ++(*pnConsumed);
-        tmp83__ = 0U;
-        tmp83__ |= ( pSrc->keyId << 0 );
-        tmp83__ |= ( pSrc->reserved << 2 );
-        frameshtons(pCtx, pBuf, tmp83__, 0);
+        tmp89__ = 0U;
+        tmp89__ |= ( pSrc->keyId << 0 );
+        tmp89__ |= ( pSrc->reserved << 2 );
+        frameshtons(pCtx, pBuf, tmp89__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
@@ -22364,14 +23060,14 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp84__;
-    tANI_U8 tmp85__;
-    tANI_U8 tmp86__;
-    tANI_U8 tmp87__;
-    tANI_U8 tmp88__;
-    tANI_U8 tmp89__;
     tANI_U8 tmp90__;
     tANI_U8 tmp91__;
+    tANI_U8 tmp92__;
+    tANI_U8 tmp93__;
+    tANI_U8 tmp94__;
+    tANI_U8 tmp95__;
+    tANI_U8 tmp96__;
+    tANI_U8 tmp97__;
     nNeeded  += 18;
     while ( pSrc->present )
     {
@@ -22386,76 +23082,76 @@
         *pBuf = pSrc->reserved;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp84__ = 0U;
-        tmp84__ |= ( pSrc->acbe_aifsn << 0 );
-        tmp84__ |= ( pSrc->acbe_acm << 4 );
-        tmp84__ |= ( pSrc->acbe_aci << 5 );
-        tmp84__ |= ( pSrc->unused1 << 7 );
-        *pBuf = tmp84__;
+        tmp90__ = 0U;
+        tmp90__ |= ( pSrc->acbe_aifsn << 0 );
+        tmp90__ |= ( pSrc->acbe_acm << 4 );
+        tmp90__ |= ( pSrc->acbe_aci << 5 );
+        tmp90__ |= ( pSrc->unused1 << 7 );
+        *pBuf = tmp90__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp85__ = 0U;
-        tmp85__ |= ( pSrc->acbe_min << 0 );
-        tmp85__ |= ( pSrc->acbe_max << 4 );
-        *pBuf = tmp85__;
+        tmp91__ = 0U;
+        tmp91__ |= ( pSrc->acbe_min << 0 );
+        tmp91__ |= ( pSrc->acbe_max << 4 );
+        *pBuf = tmp91__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
         frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp86__ = 0U;
-        tmp86__ |= ( pSrc->acbk_aifsn << 0 );
-        tmp86__ |= ( pSrc->acbk_acm << 4 );
-        tmp86__ |= ( pSrc->acbk_aci << 5 );
-        tmp86__ |= ( pSrc->unused2 << 7 );
-        *pBuf = tmp86__;
+        tmp92__ = 0U;
+        tmp92__ |= ( pSrc->acbk_aifsn << 0 );
+        tmp92__ |= ( pSrc->acbk_acm << 4 );
+        tmp92__ |= ( pSrc->acbk_aci << 5 );
+        tmp92__ |= ( pSrc->unused2 << 7 );
+        *pBuf = tmp92__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp87__ = 0U;
-        tmp87__ |= ( pSrc->acbk_min << 0 );
-        tmp87__ |= ( pSrc->acbk_max << 4 );
-        *pBuf = tmp87__;
+        tmp93__ = 0U;
+        tmp93__ |= ( pSrc->acbk_min << 0 );
+        tmp93__ |= ( pSrc->acbk_max << 4 );
+        *pBuf = tmp93__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
         frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp88__ = 0U;
-        tmp88__ |= ( pSrc->acvi_aifsn << 0 );
-        tmp88__ |= ( pSrc->acvi_acm << 4 );
-        tmp88__ |= ( pSrc->acvi_aci << 5 );
-        tmp88__ |= ( pSrc->unused3 << 7 );
-        *pBuf = tmp88__;
+        tmp94__ = 0U;
+        tmp94__ |= ( pSrc->acvi_aifsn << 0 );
+        tmp94__ |= ( pSrc->acvi_acm << 4 );
+        tmp94__ |= ( pSrc->acvi_aci << 5 );
+        tmp94__ |= ( pSrc->unused3 << 7 );
+        *pBuf = tmp94__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp89__ = 0U;
-        tmp89__ |= ( pSrc->acvi_min << 0 );
-        tmp89__ |= ( pSrc->acvi_max << 4 );
-        *pBuf = tmp89__;
+        tmp95__ = 0U;
+        tmp95__ |= ( pSrc->acvi_min << 0 );
+        tmp95__ |= ( pSrc->acvi_max << 4 );
+        *pBuf = tmp95__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
         frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp90__ = 0U;
-        tmp90__ |= ( pSrc->acvo_aifsn << 0 );
-        tmp90__ |= ( pSrc->acvo_acm << 4 );
-        tmp90__ |= ( pSrc->acvo_aci << 5 );
-        tmp90__ |= ( pSrc->unused4 << 7 );
-        *pBuf = tmp90__;
+        tmp96__ = 0U;
+        tmp96__ |= ( pSrc->acvo_aifsn << 0 );
+        tmp96__ |= ( pSrc->acvo_acm << 4 );
+        tmp96__ |= ( pSrc->acvo_aci << 5 );
+        tmp96__ |= ( pSrc->unused4 << 7 );
+        *pBuf = tmp96__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp91__ = 0U;
-        tmp91__ |= ( pSrc->acvo_min << 0 );
-        tmp91__ |= ( pSrc->acvo_max << 4 );
-        *pBuf = tmp91__;
+        tmp97__ = 0U;
+        tmp97__ |= ( pSrc->acvo_min << 0 );
+        tmp97__ |= ( pSrc->acvo_max << 4 );
+        *pBuf = tmp97__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
@@ -22643,7 +23339,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U16 tmp92__;
+    tANI_U16 tmp98__;
     nNeeded  += 6;
     while ( pSrc->present )
     {
@@ -22658,10 +23354,10 @@
         frameshtons(pCtx, pBuf, pSrc->baPolicy, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp92__ = 0U;
-        tmp92__ |= ( pSrc->baBufferSize << 0 );
-        tmp92__ |= ( pSrc->rsvd << 12 );
-        frameshtons(pCtx, pBuf, tmp92__, 0);
+        tmp98__ = 0U;
+        tmp98__ |= ( pSrc->baBufferSize << 0 );
+        tmp98__ |= ( pSrc->rsvd << 12 );
+        frameshtons(pCtx, pBuf, tmp98__, 0);
         *pnConsumed += 2;
         // fieldsEndFlag  = 1 
         nBuf -=  2 ;
@@ -23080,11 +23776,11 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp93__;
-    tANI_U8 tmp94__;
-    tANI_U8 tmp95__;
-    tANI_U8 tmp96__;
-    tANI_U8 tmp97__;
+    tANI_U8 tmp99__;
+    tANI_U8 tmp100__;
+    tANI_U8 tmp101__;
+    tANI_U8 tmp102__;
+    tANI_U8 tmp103__;
     nNeeded  += 5;
     while ( pSrc->present )
     {
@@ -23093,57 +23789,57 @@
         ++pBuf; ++(*pnConsumed);
         pIeLen = pBuf;
         ++pBuf; ++(*pnConsumed);
-        tmp93__ = 0U;
-        tmp93__ |= ( pSrc->LinkMeasurement << 0 );
-        tmp93__ |= ( pSrc->NeighborRpt << 1 );
-        tmp93__ |= ( pSrc->parallel << 2 );
-        tmp93__ |= ( pSrc->repeated << 3 );
-        tmp93__ |= ( pSrc->BeaconPassive << 4 );
-        tmp93__ |= ( pSrc->BeaconActive << 5 );
-        tmp93__ |= ( pSrc->BeaconTable << 6 );
-        tmp93__ |= ( pSrc->BeaconRepCond << 7 );
-        *pBuf = tmp93__;
+        tmp99__ = 0U;
+        tmp99__ |= ( pSrc->LinkMeasurement << 0 );
+        tmp99__ |= ( pSrc->NeighborRpt << 1 );
+        tmp99__ |= ( pSrc->parallel << 2 );
+        tmp99__ |= ( pSrc->repeated << 3 );
+        tmp99__ |= ( pSrc->BeaconPassive << 4 );
+        tmp99__ |= ( pSrc->BeaconActive << 5 );
+        tmp99__ |= ( pSrc->BeaconTable << 6 );
+        tmp99__ |= ( pSrc->BeaconRepCond << 7 );
+        *pBuf = tmp99__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp94__ = 0U;
-        tmp94__ |= ( pSrc->FrameMeasurement << 0 );
-        tmp94__ |= ( pSrc->ChannelLoad << 1 );
-        tmp94__ |= ( pSrc->NoiseHistogram << 2 );
-        tmp94__ |= ( pSrc->statistics << 3 );
-        tmp94__ |= ( pSrc->LCIMeasurement << 4 );
-        tmp94__ |= ( pSrc->LCIAzimuth << 5 );
-        tmp94__ |= ( pSrc->TCMCapability << 6 );
-        tmp94__ |= ( pSrc->triggeredTCM << 7 );
-        *pBuf = tmp94__;
+        tmp100__ = 0U;
+        tmp100__ |= ( pSrc->FrameMeasurement << 0 );
+        tmp100__ |= ( pSrc->ChannelLoad << 1 );
+        tmp100__ |= ( pSrc->NoiseHistogram << 2 );
+        tmp100__ |= ( pSrc->statistics << 3 );
+        tmp100__ |= ( pSrc->LCIMeasurement << 4 );
+        tmp100__ |= ( pSrc->LCIAzimuth << 5 );
+        tmp100__ |= ( pSrc->TCMCapability << 6 );
+        tmp100__ |= ( pSrc->triggeredTCM << 7 );
+        *pBuf = tmp100__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp95__ = 0U;
-        tmp95__ |= ( pSrc->APChanReport << 0 );
-        tmp95__ |= ( pSrc->RRMMIBEnabled << 1 );
-        tmp95__ |= ( pSrc->operatingChanMax << 2 );
-        tmp95__ |= ( pSrc->nonOperatinChanMax << 5 );
-        *pBuf = tmp95__;
+        tmp101__ = 0U;
+        tmp101__ |= ( pSrc->APChanReport << 0 );
+        tmp101__ |= ( pSrc->RRMMIBEnabled << 1 );
+        tmp101__ |= ( pSrc->operatingChanMax << 2 );
+        tmp101__ |= ( pSrc->nonOperatinChanMax << 5 );
+        *pBuf = tmp101__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp96__ = 0U;
-        tmp96__ |= ( pSrc->MeasurementPilot << 0 );
-        tmp96__ |= ( pSrc->MeasurementPilotEnabled << 3 );
-        tmp96__ |= ( pSrc->NeighborTSFOffset << 4 );
-        tmp96__ |= ( pSrc->RCPIMeasurement << 5 );
-        tmp96__ |= ( pSrc->RSNIMeasurement << 6 );
-        tmp96__ |= ( pSrc->BssAvgAccessDelay << 7 );
-        *pBuf = tmp96__;
+        tmp102__ = 0U;
+        tmp102__ |= ( pSrc->MeasurementPilot << 0 );
+        tmp102__ |= ( pSrc->MeasurementPilotEnabled << 3 );
+        tmp102__ |= ( pSrc->NeighborTSFOffset << 4 );
+        tmp102__ |= ( pSrc->RCPIMeasurement << 5 );
+        tmp102__ |= ( pSrc->RSNIMeasurement << 6 );
+        tmp102__ |= ( pSrc->BssAvgAccessDelay << 7 );
+        *pBuf = tmp102__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp97__ = 0U;
-        tmp97__ |= ( pSrc->BSSAvailAdmission << 0 );
-        tmp97__ |= ( pSrc->AntennaInformation << 1 );
-        tmp97__ |= ( pSrc->reserved << 2 );
-        *pBuf = tmp97__;
+        tmp103__ = 0U;
+        tmp103__ |= ( pSrc->BSSAvailAdmission << 0 );
+        tmp103__ |= ( pSrc->AntennaInformation << 1 );
+        tmp103__ |= ( pSrc->reserved << 2 );
+        *pBuf = tmp103__;
         *pnConsumed += 1;
         // fieldsEndFlag  = 1 
         nBuf -=  1 ;
@@ -23226,7 +23922,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U16 tmp98__;
+    tANI_U16 tmp104__;
     nNeeded  += 14;
     while ( pSrc->present )
     {
@@ -23235,12 +23931,12 @@
         ++pBuf; ++(*pnConsumed);
         pIeLen = pBuf;
         ++pBuf; ++(*pnConsumed);
-        tmp98__ = 0U;
-        tmp98__ |= ( pSrc->aggregation << 0 );
-        tmp98__ |= ( pSrc->tsid << 1 );
-        tmp98__ |= ( pSrc->direction << 5 );
-        tmp98__ |= ( pSrc->reserved << 7 );
-        frameshtons(pCtx, pBuf, tmp98__, 0);
+        tmp104__ = 0U;
+        tmp104__ |= ( pSrc->aggregation << 0 );
+        tmp104__ |= ( pSrc->tsid << 1 );
+        tmp104__ |= ( pSrc->direction << 5 );
+        tmp104__ |= ( pSrc->reserved << 7 );
+        frameshtons(pCtx, pBuf, tmp104__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
@@ -23440,9 +24136,9 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U16 tmp99__;
-    tANI_U8 tmp100__;
-    tANI_U16 tmp101__;
+    tANI_U16 tmp105__;
+    tANI_U8 tmp106__;
+    tANI_U16 tmp107__;
     nNeeded  += 55;
     while ( pSrc->present )
     {
@@ -23451,30 +24147,30 @@
         ++pBuf; ++(*pnConsumed);
         pIeLen = pBuf;
         ++pBuf; ++(*pnConsumed);
-        tmp99__ = 0U;
-        tmp99__ |= ( pSrc->traffic_type << 0 );
-        tmp99__ |= ( pSrc->tsid << 1 );
-        tmp99__ |= ( pSrc->direction << 5 );
-        tmp99__ |= ( pSrc->access_policy << 7 );
-        tmp99__ |= ( pSrc->aggregation << 9 );
-        tmp99__ |= ( pSrc->psb << 10 );
-        tmp99__ |= ( pSrc->user_priority << 11 );
-        tmp99__ |= ( pSrc->tsinfo_ack_pol << 14 );
-        frameshtons(pCtx, pBuf, tmp99__, 0);
+        tmp105__ = 0U;
+        tmp105__ |= ( pSrc->traffic_type << 0 );
+        tmp105__ |= ( pSrc->tsid << 1 );
+        tmp105__ |= ( pSrc->direction << 5 );
+        tmp105__ |= ( pSrc->access_policy << 7 );
+        tmp105__ |= ( pSrc->aggregation << 9 );
+        tmp105__ |= ( pSrc->psb << 10 );
+        tmp105__ |= ( pSrc->user_priority << 11 );
+        tmp105__ |= ( pSrc->tsinfo_ack_pol << 14 );
+        frameshtons(pCtx, pBuf, tmp105__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
-        tmp100__ = 0U;
-        tmp100__ |= ( pSrc->schedule << 0 );
-        tmp100__ |= ( pSrc->unused << 1 );
-        *pBuf = tmp100__;
+        tmp106__ = 0U;
+        tmp106__ |= ( pSrc->schedule << 0 );
+        tmp106__ |= ( pSrc->unused << 1 );
+        *pBuf = tmp106__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp101__ = 0U;
-        tmp101__ |= ( pSrc->size << 0 );
-        tmp101__ |= ( pSrc->fixed << 15 );
-        frameshtons(pCtx, pBuf, tmp101__, 0);
+        tmp107__ = 0U;
+        tmp107__ |= ( pSrc->size << 0 );
+        tmp107__ |= ( pSrc->fixed << 15 );
+        frameshtons(pCtx, pBuf, tmp107__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
@@ -23539,7 +24235,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U16 tmp102__;
+    tANI_U16 tmp108__;
     nNeeded  += 15;
     while ( pSrc->present )
     {
@@ -23561,12 +24257,12 @@
         *pBuf = pSrc->version;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp102__ = 0U;
-        tmp102__ |= ( pSrc->aggregation << 0 );
-        tmp102__ |= ( pSrc->tsid << 1 );
-        tmp102__ |= ( pSrc->direction << 5 );
-        tmp102__ |= ( pSrc->reserved << 7 );
-        frameshtons(pCtx, pBuf, tmp102__, 0);
+        tmp108__ = 0U;
+        tmp108__ |= ( pSrc->aggregation << 0 );
+        tmp108__ |= ( pSrc->tsid << 1 );
+        tmp108__ |= ( pSrc->direction << 5 );
+        tmp108__ |= ( pSrc->reserved << 7 );
+        frameshtons(pCtx, pBuf, tmp108__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
@@ -23805,9 +24501,9 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U16 tmp103__;
-    tANI_U8 tmp104__;
-    tANI_U16 tmp105__;
+    tANI_U16 tmp109__;
+    tANI_U8 tmp110__;
+    tANI_U16 tmp111__;
     nNeeded  += 38;
     while ( pSrc->present )
     {
@@ -23829,30 +24525,30 @@
         *pBuf = pSrc->version;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp103__ = 0U;
-        tmp103__ |= ( pSrc->traffic_type << 0 );
-        tmp103__ |= ( pSrc->tsid << 1 );
-        tmp103__ |= ( pSrc->direction << 5 );
-        tmp103__ |= ( pSrc->access_policy << 7 );
-        tmp103__ |= ( pSrc->aggregation << 9 );
-        tmp103__ |= ( pSrc->psb << 10 );
-        tmp103__ |= ( pSrc->user_priority << 11 );
-        tmp103__ |= ( pSrc->tsinfo_ack_pol << 14 );
-        frameshtons(pCtx, pBuf, tmp103__, 0);
+        tmp109__ = 0U;
+        tmp109__ |= ( pSrc->traffic_type << 0 );
+        tmp109__ |= ( pSrc->tsid << 1 );
+        tmp109__ |= ( pSrc->direction << 5 );
+        tmp109__ |= ( pSrc->access_policy << 7 );
+        tmp109__ |= ( pSrc->aggregation << 9 );
+        tmp109__ |= ( pSrc->psb << 10 );
+        tmp109__ |= ( pSrc->user_priority << 11 );
+        tmp109__ |= ( pSrc->tsinfo_ack_pol << 14 );
+        frameshtons(pCtx, pBuf, tmp109__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
-        tmp104__ = 0U;
-        tmp104__ |= ( pSrc->tsinfo_rsvd << 0 );
-        tmp104__ |= ( pSrc->burst_size_defn << 7 );
-        *pBuf = tmp104__;
+        tmp110__ = 0U;
+        tmp110__ |= ( pSrc->tsinfo_rsvd << 0 );
+        tmp110__ |= ( pSrc->burst_size_defn << 7 );
+        *pBuf = tmp110__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp105__ = 0U;
-        tmp105__ |= ( pSrc->size << 0 );
-        tmp105__ |= ( pSrc->fixed << 15 );
-        frameshtons(pCtx, pBuf, tmp105__, 0);
+        tmp111__ = 0U;
+        tmp111__ |= ( pSrc->size << 0 );
+        tmp111__ |= ( pSrc->fixed << 15 );
+        frameshtons(pCtx, pBuf, tmp111__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
@@ -23997,7 +24693,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp106__;
+    tANI_U8 tmp112__;
     nNeeded  += 2;
     while ( pSrc->present )
     {
@@ -24017,10 +24713,10 @@
         *pBuf = pSrc->mgmt_state;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp106__ = 0U;
-        tmp106__ |= ( pSrc->mbssid_mask << 0 );
-        tmp106__ |= ( pSrc->reserved << 3 );
-        *pBuf = tmp106__;
+        tmp112__ = 0U;
+        tmp112__ |= ( pSrc->mbssid_mask << 0 );
+        tmp112__ |= ( pSrc->reserved << 3 );
+        *pBuf = tmp112__;
         *pnConsumed += 1;
         // fieldsEndFlag  = 1 
         nBuf -=  1 ;
@@ -24380,14 +25076,14 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp107__;
-    tANI_U8 tmp108__;
-    tANI_U8 tmp109__;
-    tANI_U8 tmp110__;
-    tANI_U8 tmp111__;
-    tANI_U8 tmp112__;
     tANI_U8 tmp113__;
     tANI_U8 tmp114__;
+    tANI_U8 tmp115__;
+    tANI_U8 tmp116__;
+    tANI_U8 tmp117__;
+    tANI_U8 tmp118__;
+    tANI_U8 tmp119__;
+    tANI_U8 tmp120__;
     nNeeded  += 18;
     while ( pSrc->present )
     {
@@ -24402,76 +25098,76 @@
         *pBuf = pSrc->reserved;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp107__ = 0U;
-        tmp107__ |= ( pSrc->acbe_aifsn << 0 );
-        tmp107__ |= ( pSrc->acbe_acm << 4 );
-        tmp107__ |= ( pSrc->acbe_aci << 5 );
-        tmp107__ |= ( pSrc->unused1 << 7 );
-        *pBuf = tmp107__;
+        tmp113__ = 0U;
+        tmp113__ |= ( pSrc->acbe_aifsn << 0 );
+        tmp113__ |= ( pSrc->acbe_acm << 4 );
+        tmp113__ |= ( pSrc->acbe_aci << 5 );
+        tmp113__ |= ( pSrc->unused1 << 7 );
+        *pBuf = tmp113__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp108__ = 0U;
-        tmp108__ |= ( pSrc->acbe_acwmin << 0 );
-        tmp108__ |= ( pSrc->acbe_acwmax << 4 );
-        *pBuf = tmp108__;
+        tmp114__ = 0U;
+        tmp114__ |= ( pSrc->acbe_acwmin << 0 );
+        tmp114__ |= ( pSrc->acbe_acwmax << 4 );
+        *pBuf = tmp114__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
         frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp109__ = 0U;
-        tmp109__ |= ( pSrc->acbk_aifsn << 0 );
-        tmp109__ |= ( pSrc->acbk_acm << 4 );
-        tmp109__ |= ( pSrc->acbk_aci << 5 );
-        tmp109__ |= ( pSrc->unused2 << 7 );
-        *pBuf = tmp109__;
+        tmp115__ = 0U;
+        tmp115__ |= ( pSrc->acbk_aifsn << 0 );
+        tmp115__ |= ( pSrc->acbk_acm << 4 );
+        tmp115__ |= ( pSrc->acbk_aci << 5 );
+        tmp115__ |= ( pSrc->unused2 << 7 );
+        *pBuf = tmp115__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp110__ = 0U;
-        tmp110__ |= ( pSrc->acbk_acwmin << 0 );
-        tmp110__ |= ( pSrc->acbk_acwmax << 4 );
-        *pBuf = tmp110__;
+        tmp116__ = 0U;
+        tmp116__ |= ( pSrc->acbk_acwmin << 0 );
+        tmp116__ |= ( pSrc->acbk_acwmax << 4 );
+        *pBuf = tmp116__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
         frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp111__ = 0U;
-        tmp111__ |= ( pSrc->acvi_aifsn << 0 );
-        tmp111__ |= ( pSrc->acvi_acm << 4 );
-        tmp111__ |= ( pSrc->acvi_aci << 5 );
-        tmp111__ |= ( pSrc->unused3 << 7 );
-        *pBuf = tmp111__;
+        tmp117__ = 0U;
+        tmp117__ |= ( pSrc->acvi_aifsn << 0 );
+        tmp117__ |= ( pSrc->acvi_acm << 4 );
+        tmp117__ |= ( pSrc->acvi_aci << 5 );
+        tmp117__ |= ( pSrc->unused3 << 7 );
+        *pBuf = tmp117__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp112__ = 0U;
-        tmp112__ |= ( pSrc->acvi_acwmin << 0 );
-        tmp112__ |= ( pSrc->acvi_acwmax << 4 );
-        *pBuf = tmp112__;
+        tmp118__ = 0U;
+        tmp118__ |= ( pSrc->acvi_acwmin << 0 );
+        tmp118__ |= ( pSrc->acvi_acwmax << 4 );
+        *pBuf = tmp118__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
         frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp113__ = 0U;
-        tmp113__ |= ( pSrc->acvo_aifsn << 0 );
-        tmp113__ |= ( pSrc->acvo_acm << 4 );
-        tmp113__ |= ( pSrc->acvo_aci << 5 );
-        tmp113__ |= ( pSrc->unused4 << 7 );
-        *pBuf = tmp113__;
+        tmp119__ = 0U;
+        tmp119__ |= ( pSrc->acvo_aifsn << 0 );
+        tmp119__ |= ( pSrc->acvo_acm << 4 );
+        tmp119__ |= ( pSrc->acvo_aci << 5 );
+        tmp119__ |= ( pSrc->unused4 << 7 );
+        *pBuf = tmp119__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp114__ = 0U;
-        tmp114__ |= ( pSrc->acvo_acwmin << 0 );
-        tmp114__ |= ( pSrc->acvo_acwmax << 4 );
-        *pBuf = tmp114__;
+        tmp120__ = 0U;
+        tmp120__ |= ( pSrc->acvo_acwmin << 0 );
+        tmp120__ |= ( pSrc->acvo_acwmax << 4 );
+        *pBuf = tmp120__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
@@ -24497,7 +25193,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp115__;
+    tANI_U8 tmp121__;
     nNeeded  += 1;
     while ( pSrc->present )
     {
@@ -24506,12 +25202,12 @@
         ++pBuf; ++(*pnConsumed);
         pIeLen = pBuf;
         ++pBuf; ++(*pnConsumed);
-        tmp115__ = 0U;
-        tmp115__ |= ( pSrc->non_erp_present << 0 );
-        tmp115__ |= ( pSrc->use_prot << 1 );
-        tmp115__ |= ( pSrc->barker_preamble << 2 );
-        tmp115__ |= ( pSrc->unused << 3 );
-        *pBuf = tmp115__;
+        tmp121__ = 0U;
+        tmp121__ |= ( pSrc->non_erp_present << 0 );
+        tmp121__ |= ( pSrc->use_prot << 1 );
+        tmp121__ |= ( pSrc->barker_preamble << 2 );
+        tmp121__ |= ( pSrc->unused << 3 );
+        *pBuf = tmp121__;
         *pnConsumed += 1;
         // fieldsEndFlag  = 1 
         nBuf -=  1 ;
@@ -24525,6 +25221,101 @@
     return DOT11F_PARSE_SUCCESS;
 } /* End dot11fPackIeERPInfo. */
 
+tANI_U32 dot11fPackIeExtCap(tpAniSirGlobal pCtx,
+                            tDot11fIEExtCap *pSrc,
+                            tANI_U8 *pBuf,
+                            tANI_U32 nBuf,
+                            tANI_U32 *pnConsumed)
+{
+    tANI_U8* pIeLen = 0;
+    tANI_U32 nConsumedOnEntry = *pnConsumed;
+    tANI_U32 nNeeded = 0U;
+    tANI_U32 tmp122__;
+    tANI_U16 tmp123__;
+    tANI_U16 tmp124__;
+    nNeeded  += 8;
+    while ( pSrc->present )
+    {
+        if ( nNeeded > nBuf ) return DOT11F_BUFFER_OVERFLOW;
+        *pBuf = 127;
+        ++pBuf; ++(*pnConsumed);
+        pIeLen = pBuf;
+        ++pBuf; ++(*pnConsumed);
+        tmp122__ = 0U;
+        tmp122__ |= ( pSrc->bssCoexistMgmtSupport << 0 );
+        tmp122__ |= ( pSrc->reserved1 << 1 );
+        tmp122__ |= ( pSrc->extChanSwitch << 2 );
+        tmp122__ |= ( pSrc->reserved2 << 3 );
+        tmp122__ |= ( pSrc->psmpCap << 4 );
+        tmp122__ |= ( pSrc->reserved3 << 5 );
+        tmp122__ |= ( pSrc->spsmpCap << 6 );
+        tmp122__ |= ( pSrc->event << 7 );
+        tmp122__ |= ( pSrc->diagnostics << 8 );
+        tmp122__ |= ( pSrc->multiDiagnostics << 9 );
+        tmp122__ |= ( pSrc->locTracking << 10 );
+        tmp122__ |= ( pSrc->FMS << 11 );
+        tmp122__ |= ( pSrc->proxyARPService << 12 );
+        tmp122__ |= ( pSrc->coLocIntfReporting << 13 );
+        tmp122__ |= ( pSrc->civicLoc << 14 );
+        tmp122__ |= ( pSrc->geospatialLoc << 15 );
+        tmp122__ |= ( pSrc->TFS << 16 );
+        tmp122__ |= ( pSrc->wnmSleepMode << 17 );
+        tmp122__ |= ( pSrc->timBroadcast << 18 );
+        tmp122__ |= ( pSrc->bssTransition << 19 );
+        tmp122__ |= ( pSrc->qosTrafficCap << 20 );
+        tmp122__ |= ( pSrc->acStaCnt << 21 );
+        tmp122__ |= ( pSrc->multiBSSID << 22 );
+        tmp122__ |= ( pSrc->timingMeas << 23 );
+        tmp122__ |= ( pSrc->chanUsage << 24 );
+        tmp122__ |= ( pSrc->ssidList << 25 );
+        tmp122__ |= ( pSrc->DMS << 26 );
+        tmp122__ |= ( pSrc->UTCTSFOffset << 27 );
+        tmp122__ |= ( pSrc->TDLSPeerUAPSDBufferSTA << 28 );
+        tmp122__ |= ( pSrc->TDLSChannelSwitching << 29 );
+        tmp122__ |= ( pSrc->interworkingService << 30 );
+        tmp122__ |= ( pSrc->qosMap << 31 );
+        frameshtonl(pCtx, pBuf, tmp122__, 0);
+        *pnConsumed += 4;
+        pBuf += 4;
+        nBuf -=  4 ;
+        tmp123__ = 0U;
+        tmp123__ |= ( pSrc->EBR << 0 );
+        tmp123__ |= ( pSrc->sspnInterface << 1 );
+        tmp123__ |= ( pSrc->reserved4 << 2 );
+        tmp123__ |= ( pSrc->msgCFCap << 3 );
+        tmp123__ |= ( pSrc->TDLSSupport << 4 );
+        tmp123__ |= ( pSrc->TDLSProhibited << 5 );
+        tmp123__ |= ( pSrc->TDLSChanSwitProhibited << 6 );
+        tmp123__ |= ( pSrc->rejectUnadmittedTraffic << 7 );
+        tmp123__ |= ( pSrc->serviceIntervalGranularity << 8 );
+        tmp123__ |= ( pSrc->identifierLoc << 11 );
+        tmp123__ |= ( pSrc->uapsdCoexistence << 12 );
+        tmp123__ |= ( pSrc->wnmNotification << 13 );
+        tmp123__ |= ( pSrc->reserved5 << 14 );
+        tmp123__ |= ( pSrc->UTF8SSID << 15 );
+        frameshtons(pCtx, pBuf, tmp123__, 0);
+        *pnConsumed += 2;
+        pBuf += 2;
+        nBuf -=  2 ;
+        tmp124__ = 0U;
+        tmp124__ |= ( pSrc->reserved6 << 0 );
+        tmp124__ |= ( pSrc->TDLSWiderBW << 13 );
+        tmp124__ |= ( pSrc->operModeNotification << 14 );
+        tmp124__ |= ( pSrc->reserved7 << 15 );
+        frameshtons(pCtx, pBuf, tmp124__, 0);
+        *pnConsumed += 2;
+        // fieldsEndFlag  = 1 
+        nBuf -=  2 ;
+        break;
+    }
+    (void)pCtx;
+    if (pIeLen)
+    {
+        *pIeLen = *pnConsumed - nConsumedOnEntry - 2;
+    }
+    return DOT11F_PARSE_SUCCESS;
+} /* End dot11fPackIeExtCap. */
+
 tANI_U32 dot11fPackIeExtChanSwitchAnn(tpAniSirGlobal pCtx,
                                       tDot11fIEExtChanSwitchAnn *pSrc,
                                       tANI_U8 *pBuf,
@@ -24708,7 +25499,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U16 tmp116__;
+    tANI_U16 tmp125__;
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
     status = dot11fGetPackedIEFTInfo(pCtx, pSrc, &nNeeded);
     if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -24719,10 +25510,10 @@
         ++pBuf; --nBuf; ++(*pnConsumed);
         pIeLen = pBuf;
         ++pBuf; --nBuf; ++(*pnConsumed);
-        tmp116__ = 0U;
-        tmp116__ |= ( pSrc->reserved << 0 );
-        tmp116__ |= ( pSrc->IECount << 8 );
-        frameshtons(pCtx, pBuf, tmp116__, 0);
+        tmp125__ = 0U;
+        tmp125__ |= ( pSrc->reserved << 0 );
+        tmp125__ |= ( pSrc->IECount << 8 );
+        frameshtons(pCtx, pBuf, tmp125__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
@@ -24794,11 +25585,11 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U16 tmp117__;
-    tANI_U8 tmp118__;
-    tANI_U16 tmp119__;
-    tANI_U32 tmp120__;
-    tANI_U8 tmp121__;
+    tANI_U16 tmp126__;
+    tANI_U8 tmp127__;
+    tANI_U16 tmp128__;
+    tANI_U32 tmp129__;
+    tANI_U8 tmp130__;
     nNeeded  +=  (pSrc->num_rsvd + 26);
     while ( pSrc->present )
     {
@@ -24807,77 +25598,77 @@
         ++pBuf; ++(*pnConsumed);
         pIeLen = pBuf;
         ++pBuf; ++(*pnConsumed);
-        tmp117__ = 0U;
-        tmp117__ |= ( pSrc->advCodingCap << 0 );
-        tmp117__ |= ( pSrc->supportedChannelWidthSet << 1 );
-        tmp117__ |= ( pSrc->mimoPowerSave << 2 );
-        tmp117__ |= ( pSrc->greenField << 4 );
-        tmp117__ |= ( pSrc->shortGI20MHz << 5 );
-        tmp117__ |= ( pSrc->shortGI40MHz << 6 );
-        tmp117__ |= ( pSrc->txSTBC << 7 );
-        tmp117__ |= ( pSrc->rxSTBC << 8 );
-        tmp117__ |= ( pSrc->delayedBA << 10 );
-        tmp117__ |= ( pSrc->maximalAMSDUsize << 11 );
-        tmp117__ |= ( pSrc->dsssCckMode40MHz << 12 );
-        tmp117__ |= ( pSrc->psmp << 13 );
-        tmp117__ |= ( pSrc->stbcControlFrame << 14 );
-        tmp117__ |= ( pSrc->lsigTXOPProtection << 15 );
-        frameshtons(pCtx, pBuf, tmp117__, 0);
+        tmp126__ = 0U;
+        tmp126__ |= ( pSrc->advCodingCap << 0 );
+        tmp126__ |= ( pSrc->supportedChannelWidthSet << 1 );
+        tmp126__ |= ( pSrc->mimoPowerSave << 2 );
+        tmp126__ |= ( pSrc->greenField << 4 );
+        tmp126__ |= ( pSrc->shortGI20MHz << 5 );
+        tmp126__ |= ( pSrc->shortGI40MHz << 6 );
+        tmp126__ |= ( pSrc->txSTBC << 7 );
+        tmp126__ |= ( pSrc->rxSTBC << 8 );
+        tmp126__ |= ( pSrc->delayedBA << 10 );
+        tmp126__ |= ( pSrc->maximalAMSDUsize << 11 );
+        tmp126__ |= ( pSrc->dsssCckMode40MHz << 12 );
+        tmp126__ |= ( pSrc->psmp << 13 );
+        tmp126__ |= ( pSrc->stbcControlFrame << 14 );
+        tmp126__ |= ( pSrc->lsigTXOPProtection << 15 );
+        frameshtons(pCtx, pBuf, tmp126__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
-        tmp118__ = 0U;
-        tmp118__ |= ( pSrc->maxRxAMPDUFactor << 0 );
-        tmp118__ |= ( pSrc->mpduDensity << 2 );
-        tmp118__ |= ( pSrc->reserved1 << 5 );
-        *pBuf = tmp118__;
+        tmp127__ = 0U;
+        tmp127__ |= ( pSrc->maxRxAMPDUFactor << 0 );
+        tmp127__ |= ( pSrc->mpduDensity << 2 );
+        tmp127__ |= ( pSrc->reserved1 << 5 );
+        *pBuf = tmp127__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
         DOT11F_MEMCPY(pCtx, pBuf, pSrc->supportedMCSSet, 16);
         *pnConsumed += 16;
         pBuf += 16;
-        tmp119__ = 0U;
-        tmp119__ |= ( pSrc->pco << 0 );
-        tmp119__ |= ( pSrc->transitionTime << 1 );
-        tmp119__ |= ( pSrc->reserved2 << 3 );
-        tmp119__ |= ( pSrc->mcsFeedback << 8 );
-        tmp119__ |= ( pSrc->reserved3 << 10 );
-        frameshtons(pCtx, pBuf, tmp119__, 0);
+        tmp128__ = 0U;
+        tmp128__ |= ( pSrc->pco << 0 );
+        tmp128__ |= ( pSrc->transitionTime << 1 );
+        tmp128__ |= ( pSrc->reserved2 << 3 );
+        tmp128__ |= ( pSrc->mcsFeedback << 8 );
+        tmp128__ |= ( pSrc->reserved3 << 10 );
+        frameshtons(pCtx, pBuf, tmp128__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
-        tmp120__ = 0U;
-        tmp120__ |= ( pSrc->txBF << 0 );
-        tmp120__ |= ( pSrc->rxStaggeredSounding << 1 );
-        tmp120__ |= ( pSrc->txStaggeredSounding << 2 );
-        tmp120__ |= ( pSrc->rxZLF << 3 );
-        tmp120__ |= ( pSrc->txZLF << 4 );
-        tmp120__ |= ( pSrc->implicitTxBF << 5 );
-        tmp120__ |= ( pSrc->calibration << 6 );
-        tmp120__ |= ( pSrc->explicitCSITxBF << 8 );
-        tmp120__ |= ( pSrc->explicitUncompressedSteeringMatrix << 9 );
-        tmp120__ |= ( pSrc->explicitBFCSIFeedback << 10 );
-        tmp120__ |= ( pSrc->explicitUncompressedSteeringMatrixFeedback << 13 );
-        tmp120__ |= ( pSrc->explicitCompressedSteeringMatrixFeedback << 16 );
-        tmp120__ |= ( pSrc->csiNumBFAntennae << 19 );
-        tmp120__ |= ( pSrc->uncompressedSteeringMatrixBFAntennae << 21 );
-        tmp120__ |= ( pSrc->compressedSteeringMatrixBFAntennae << 23 );
-        tmp120__ |= ( pSrc->reserved4 << 25 );
-        frameshtonl(pCtx, pBuf, tmp120__, 0);
+        tmp129__ = 0U;
+        tmp129__ |= ( pSrc->txBF << 0 );
+        tmp129__ |= ( pSrc->rxStaggeredSounding << 1 );
+        tmp129__ |= ( pSrc->txStaggeredSounding << 2 );
+        tmp129__ |= ( pSrc->rxZLF << 3 );
+        tmp129__ |= ( pSrc->txZLF << 4 );
+        tmp129__ |= ( pSrc->implicitTxBF << 5 );
+        tmp129__ |= ( pSrc->calibration << 6 );
+        tmp129__ |= ( pSrc->explicitCSITxBF << 8 );
+        tmp129__ |= ( pSrc->explicitUncompressedSteeringMatrix << 9 );
+        tmp129__ |= ( pSrc->explicitBFCSIFeedback << 10 );
+        tmp129__ |= ( pSrc->explicitUncompressedSteeringMatrixFeedback << 13 );
+        tmp129__ |= ( pSrc->explicitCompressedSteeringMatrixFeedback << 16 );
+        tmp129__ |= ( pSrc->csiNumBFAntennae << 19 );
+        tmp129__ |= ( pSrc->uncompressedSteeringMatrixBFAntennae << 21 );
+        tmp129__ |= ( pSrc->compressedSteeringMatrixBFAntennae << 23 );
+        tmp129__ |= ( pSrc->reserved4 << 25 );
+        frameshtonl(pCtx, pBuf, tmp129__, 0);
         *pnConsumed += 4;
         pBuf += 4;
         nBuf -=  4 ;
-        tmp121__ = 0U;
-        tmp121__ |= ( pSrc->antennaSelection << 0 );
-        tmp121__ |= ( pSrc->explicitCSIFeedbackTx << 1 );
-        tmp121__ |= ( pSrc->antennaIndicesFeedbackTx << 2 );
-        tmp121__ |= ( pSrc->explicitCSIFeedback << 3 );
-        tmp121__ |= ( pSrc->antennaIndicesFeedback << 4 );
-        tmp121__ |= ( pSrc->rxAS << 5 );
-        tmp121__ |= ( pSrc->txSoundingPPDUs << 6 );
-        tmp121__ |= ( pSrc->reserved5 << 7 );
-        *pBuf = tmp121__;
+        tmp130__ = 0U;
+        tmp130__ |= ( pSrc->antennaSelection << 0 );
+        tmp130__ |= ( pSrc->explicitCSIFeedbackTx << 1 );
+        tmp130__ |= ( pSrc->antennaIndicesFeedbackTx << 2 );
+        tmp130__ |= ( pSrc->explicitCSIFeedback << 3 );
+        tmp130__ |= ( pSrc->antennaIndicesFeedback << 4 );
+        tmp130__ |= ( pSrc->rxAS << 5 );
+        tmp130__ |= ( pSrc->txSoundingPPDUs << 6 );
+        tmp130__ |= ( pSrc->reserved5 << 7 );
+        *pBuf = tmp130__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
@@ -24903,9 +25694,9 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp122__;
-    tANI_U16 tmp123__;
-    tANI_U16 tmp124__;
+    tANI_U8 tmp131__;
+    tANI_U16 tmp132__;
+    tANI_U16 tmp133__;
     nNeeded  +=  (pSrc->num_rsvd + 22);
     while ( pSrc->present )
     {
@@ -24917,35 +25708,35 @@
         *pBuf = pSrc->primaryChannel;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp122__ = 0U;
-        tmp122__ |= ( pSrc->secondaryChannelOffset << 0 );
-        tmp122__ |= ( pSrc->recommendedTxWidthSet << 2 );
-        tmp122__ |= ( pSrc->rifsMode << 3 );
-        tmp122__ |= ( pSrc->controlledAccessOnly << 4 );
-        tmp122__ |= ( pSrc->serviceIntervalGranularity << 5 );
-        *pBuf = tmp122__;
+        tmp131__ = 0U;
+        tmp131__ |= ( pSrc->secondaryChannelOffset << 0 );
+        tmp131__ |= ( pSrc->recommendedTxWidthSet << 2 );
+        tmp131__ |= ( pSrc->rifsMode << 3 );
+        tmp131__ |= ( pSrc->controlledAccessOnly << 4 );
+        tmp131__ |= ( pSrc->serviceIntervalGranularity << 5 );
+        *pBuf = tmp131__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp123__ = 0U;
-        tmp123__ |= ( pSrc->opMode << 0 );
-        tmp123__ |= ( pSrc->nonGFDevicesPresent << 2 );
-        tmp123__ |= ( pSrc->transmitBurstLimit << 3 );
-        tmp123__ |= ( pSrc->obssNonHTStaPresent << 4 );
-        tmp123__ |= ( pSrc->reserved << 5 );
-        frameshtons(pCtx, pBuf, tmp123__, 0);
+        tmp132__ = 0U;
+        tmp132__ |= ( pSrc->opMode << 0 );
+        tmp132__ |= ( pSrc->nonGFDevicesPresent << 2 );
+        tmp132__ |= ( pSrc->transmitBurstLimit << 3 );
+        tmp132__ |= ( pSrc->obssNonHTStaPresent << 4 );
+        tmp132__ |= ( pSrc->reserved << 5 );
+        frameshtons(pCtx, pBuf, tmp132__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
-        tmp124__ = 0U;
-        tmp124__ |= ( pSrc->basicSTBCMCS << 0 );
-        tmp124__ |= ( pSrc->dualCTSProtection << 7 );
-        tmp124__ |= ( pSrc->secondaryBeacon << 8 );
-        tmp124__ |= ( pSrc->lsigTXOPProtectionFullSupport << 9 );
-        tmp124__ |= ( pSrc->pcoActive << 10 );
-        tmp124__ |= ( pSrc->pcoPhase << 11 );
-        tmp124__ |= ( pSrc->reserved2 << 12 );
-        frameshtons(pCtx, pBuf, tmp124__, 0);
+        tmp133__ = 0U;
+        tmp133__ |= ( pSrc->basicSTBCMCS << 0 );
+        tmp133__ |= ( pSrc->dualCTSProtection << 7 );
+        tmp133__ |= ( pSrc->secondaryBeacon << 8 );
+        tmp133__ |= ( pSrc->lsigTXOPProtectionFullSupport << 9 );
+        tmp133__ |= ( pSrc->pcoActive << 10 );
+        tmp133__ |= ( pSrc->pcoPhase << 11 );
+        tmp133__ |= ( pSrc->reserved2 << 12 );
+        frameshtons(pCtx, pBuf, tmp133__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
@@ -25004,9 +25795,9 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp125__;
-    tANI_U8 tmp126__;
-    tANI_U8 tmp127__;
+    tANI_U8 tmp134__;
+    tANI_U8 tmp135__;
+    tANI_U8 tmp136__;
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
     status = dot11fGetPackedIEMeasurementReport(pCtx, pSrc, &nNeeded);
     if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -25020,12 +25811,12 @@
         *pBuf = pSrc->token;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp125__ = 0U;
-        tmp125__ |= ( pSrc->late << 0 );
-        tmp125__ |= ( pSrc->incapable << 1 );
-        tmp125__ |= ( pSrc->refused << 2 );
-        tmp125__ |= ( pSrc->unused << 3 );
-        *pBuf = tmp125__;
+        tmp134__ = 0U;
+        tmp134__ |= ( pSrc->late << 0 );
+        tmp134__ |= ( pSrc->incapable << 1 );
+        tmp134__ |= ( pSrc->refused << 2 );
+        tmp134__ |= ( pSrc->unused << 3 );
+        *pBuf = tmp134__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
@@ -25045,14 +25836,14 @@
                     frameshtons(pCtx, pBuf, pSrc->report.Basic.meas_duration, 0);
                     *pnConsumed += 2;
                     pBuf += 2;
-                    tmp126__ = 0U;
-                    tmp126__ |= ( pSrc->report.Basic.bss << 0 );
-                    tmp126__ |= ( pSrc->report.Basic.ofdm_preamble << 1 );
-                    tmp126__ |= ( pSrc->report.Basic.unid_signal << 2 );
-                    tmp126__ |= ( pSrc->report.Basic.rader << 3 );
-                    tmp126__ |= ( pSrc->report.Basic.unmeasured << 4 );
-                    tmp126__ |= ( pSrc->report.Basic.unused << 5 );
-                    *pBuf = tmp126__;
+                    tmp135__ = 0U;
+                    tmp135__ |= ( pSrc->report.Basic.bss << 0 );
+                    tmp135__ |= ( pSrc->report.Basic.ofdm_preamble << 1 );
+                    tmp135__ |= ( pSrc->report.Basic.unid_signal << 2 );
+                    tmp135__ |= ( pSrc->report.Basic.rader << 3 );
+                    tmp135__ |= ( pSrc->report.Basic.unmeasured << 4 );
+                    tmp135__ |= ( pSrc->report.Basic.unused << 5 );
+                    *pBuf = tmp135__;
                     *pnConsumed += 1;
                     // fieldsEndFlag  = 1 
                     nBuf -=  1 ;
@@ -25119,10 +25910,10 @@
                     frameshtons(pCtx, pBuf, pSrc->report.Beacon.meas_duration, 0);
                     *pnConsumed += 2;
                     pBuf += 2;
-                    tmp127__ = 0U;
-                    tmp127__ |= ( pSrc->report.Beacon.condensed_PHY << 0 );
-                    tmp127__ |= ( pSrc->report.Beacon.reported_frame_type << 7 );
-                    *pBuf = tmp127__;
+                    tmp136__ = 0U;
+                    tmp136__ |= ( pSrc->report.Beacon.condensed_PHY << 0 );
+                    tmp136__ |= ( pSrc->report.Beacon.reported_frame_type << 7 );
+                    *pBuf = tmp136__;
                     *pnConsumed += 1;
                     pBuf += 1;
                     nBuf -=  1 ;
@@ -25171,7 +25962,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp128__;
+    tANI_U8 tmp137__;
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
     status = dot11fGetPackedIEMeasurementRequest(pCtx, pSrc, &nNeeded);
     if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -25185,14 +25976,14 @@
         *pBuf = pSrc->measurement_token;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp128__ = 0U;
-        tmp128__ |= ( pSrc->parallel << 0 );
-        tmp128__ |= ( pSrc->enable << 1 );
-        tmp128__ |= ( pSrc->request << 2 );
-        tmp128__ |= ( pSrc->report << 3 );
-        tmp128__ |= ( pSrc->durationMandatory << 4 );
-        tmp128__ |= ( pSrc->unused << 5 );
-        *pBuf = tmp128__;
+        tmp137__ = 0U;
+        tmp137__ |= ( pSrc->parallel << 0 );
+        tmp137__ |= ( pSrc->enable << 1 );
+        tmp137__ |= ( pSrc->request << 2 );
+        tmp137__ |= ( pSrc->report << 3 );
+        tmp137__ |= ( pSrc->durationMandatory << 4 );
+        tmp137__ |= ( pSrc->unused << 5 );
+        *pBuf = tmp137__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
@@ -25281,7 +26072,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp129__;
+    tANI_U8 tmp138__;
     nNeeded  += 3;
     while ( pSrc->present )
     {
@@ -25293,11 +26084,11 @@
         frameshtons(pCtx, pBuf, pSrc->MDID, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp129__ = 0U;
-        tmp129__ |= ( pSrc->overDSCap << 0 );
-        tmp129__ |= ( pSrc->resourceReqCap << 1 );
-        tmp129__ |= ( pSrc->reserved << 2 );
-        *pBuf = tmp129__;
+        tmp138__ = 0U;
+        tmp138__ |= ( pSrc->overDSCap << 0 );
+        tmp138__ |= ( pSrc->resourceReqCap << 1 );
+        tmp138__ |= ( pSrc->reserved << 2 );
+        *pBuf = tmp138__;
         *pnConsumed += 1;
         // fieldsEndFlag  = 1 
         nBuf -=  1 ;
@@ -25320,8 +26111,8 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp130__;
-    tANI_U8 tmp131__;
+    tANI_U8 tmp139__;
+    tANI_U8 tmp140__;
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
     status = dot11fGetPackedIENeighborReport(pCtx, pSrc, &nNeeded);
     if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -25335,24 +26126,24 @@
         DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6);
         *pnConsumed += 6;
         pBuf += 6;
-        tmp130__ = 0U;
-        tmp130__ |= ( pSrc->APReachability << 0 );
-        tmp130__ |= ( pSrc->Security << 2 );
-        tmp130__ |= ( pSrc->KeyScope << 3 );
-        tmp130__ |= ( pSrc->SpecMgmtCap << 4 );
-        tmp130__ |= ( pSrc->QosCap << 5 );
-        tmp130__ |= ( pSrc->apsd << 6 );
-        tmp130__ |= ( pSrc->rrm << 7 );
-        *pBuf = tmp130__;
+        tmp139__ = 0U;
+        tmp139__ |= ( pSrc->APReachability << 0 );
+        tmp139__ |= ( pSrc->Security << 2 );
+        tmp139__ |= ( pSrc->KeyScope << 3 );
+        tmp139__ |= ( pSrc->SpecMgmtCap << 4 );
+        tmp139__ |= ( pSrc->QosCap << 5 );
+        tmp139__ |= ( pSrc->apsd << 6 );
+        tmp139__ |= ( pSrc->rrm << 7 );
+        *pBuf = tmp139__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp131__ = 0U;
-        tmp131__ |= ( pSrc->DelayedBA << 0 );
-        tmp131__ |= ( pSrc->ImmBA << 1 );
-        tmp131__ |= ( pSrc->MobilityDomain << 2 );
-        tmp131__ |= ( pSrc->reserved << 3 );
-        *pBuf = tmp131__;
+        tmp140__ = 0U;
+        tmp140__ |= ( pSrc->DelayedBA << 0 );
+        tmp140__ |= ( pSrc->ImmBA << 1 );
+        tmp140__ |= ( pSrc->MobilityDomain << 2 );
+        tmp140__ |= ( pSrc->reserved << 3 );
+        *pBuf = tmp140__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
@@ -25385,6 +26176,43 @@
     return status;
 } /* End dot11fPackIeNeighborReport. */
 
+tANI_U32 dot11fPackIeOperatingMode(tpAniSirGlobal pCtx,
+                                   tDot11fIEOperatingMode *pSrc,
+                                   tANI_U8 *pBuf,
+                                   tANI_U32 nBuf,
+                                   tANI_U32 *pnConsumed)
+{
+    tANI_U8* pIeLen = 0;
+    tANI_U32 nConsumedOnEntry = *pnConsumed;
+    tANI_U32 nNeeded = 0U;
+    tANI_U8 tmp141__;
+    nNeeded  += 1;
+    while ( pSrc->present )
+    {
+        if ( nNeeded > nBuf ) return DOT11F_BUFFER_OVERFLOW;
+        *pBuf = 199;
+        ++pBuf; ++(*pnConsumed);
+        pIeLen = pBuf;
+        ++pBuf; ++(*pnConsumed);
+        tmp141__ = 0U;
+        tmp141__ |= ( pSrc->chanWidth << 0 );
+        tmp141__ |= ( pSrc->reserved << 2 );
+        tmp141__ |= ( pSrc->rxNSS << 4 );
+        tmp141__ |= ( pSrc->rxNSSType << 7 );
+        *pBuf = tmp141__;
+        *pnConsumed += 1;
+        // fieldsEndFlag  = 1 
+        nBuf -=  1 ;
+        break;
+    }
+    (void)pCtx;
+    if (pIeLen)
+    {
+        *pIeLen = *pnConsumed - nConsumedOnEntry - 2;
+    }
+    return DOT11F_PARSE_SUCCESS;
+} /* End dot11fPackIeOperatingMode. */
+
 tANI_U32 dot11fPackIeP2PAssocReq(tpAniSirGlobal pCtx,
                                  tDot11fIEP2PAssocReq *pSrc,
                                  tANI_U8 *pBuf,
@@ -26391,7 +27219,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp132__;
+    tANI_U8 tmp142__;
     nNeeded  += 1;
     while ( pSrc->present )
     {
@@ -26400,13 +27228,13 @@
         ++pBuf; ++(*pnConsumed);
         pIeLen = pBuf;
         ++pBuf; ++(*pnConsumed);
-        tmp132__ = 0U;
-        tmp132__ |= ( pSrc->reserved << 0 );
-        tmp132__ |= ( pSrc->txopreq << 1 );
-        tmp132__ |= ( pSrc->qreq << 2 );
-        tmp132__ |= ( pSrc->qack << 3 );
-        tmp132__ |= ( pSrc->count << 4 );
-        *pBuf = tmp132__;
+        tmp142__ = 0U;
+        tmp142__ |= ( pSrc->reserved << 0 );
+        tmp142__ |= ( pSrc->txopreq << 1 );
+        tmp142__ |= ( pSrc->qreq << 2 );
+        tmp142__ |= ( pSrc->qack << 3 );
+        tmp142__ |= ( pSrc->count << 4 );
+        *pBuf = tmp142__;
         *pnConsumed += 1;
         // fieldsEndFlag  = 1 
         nBuf -=  1 ;
@@ -26429,7 +27257,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp133__;
+    tANI_U8 tmp143__;
     nNeeded  += 1;
     while ( pSrc->present )
     {
@@ -26438,15 +27266,15 @@
         ++pBuf; ++(*pnConsumed);
         pIeLen = pBuf;
         ++pBuf; ++(*pnConsumed);
-        tmp133__ = 0U;
-        tmp133__ |= ( pSrc->more_data_ack << 0 );
-        tmp133__ |= ( pSrc->max_sp_length << 1 );
-        tmp133__ |= ( pSrc->qack << 3 );
-        tmp133__ |= ( pSrc->acbe_uapsd << 4 );
-        tmp133__ |= ( pSrc->acbk_uapsd << 5 );
-        tmp133__ |= ( pSrc->acvi_uapsd << 6 );
-        tmp133__ |= ( pSrc->acvo_uapsd << 7 );
-        *pBuf = tmp133__;
+        tmp143__ = 0U;
+        tmp143__ |= ( pSrc->more_data_ack << 0 );
+        tmp143__ |= ( pSrc->max_sp_length << 1 );
+        tmp143__ |= ( pSrc->qack << 3 );
+        tmp143__ |= ( pSrc->acbe_uapsd << 4 );
+        tmp143__ |= ( pSrc->acbk_uapsd << 5 );
+        tmp143__ |= ( pSrc->acvi_uapsd << 6 );
+        tmp143__ |= ( pSrc->acvo_uapsd << 7 );
+        *pBuf = tmp143__;
         *pnConsumed += 1;
         // fieldsEndFlag  = 1 
         nBuf -=  1 ;
@@ -26564,7 +27392,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U16 tmp134__;
+    tANI_U16 tmp144__;
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
     status = dot11fGetPackedIERSN(pCtx, pSrc, &nNeeded);
     if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -26599,13 +27427,13 @@
         DOT11F_MEMCPY(pCtx, pBuf, &( pSrc->akm_suites ), ( pSrc->akm_suite_count * 4 ));
         *pnConsumed += ( pSrc->akm_suite_count * 4 );
         pBuf += ( pSrc->akm_suite_count * 4 );
-        tmp134__ = 0U;
-        tmp134__ |= ( pSrc->preauth << 0 );
-        tmp134__ |= ( pSrc->no_pwise << 1 );
-        tmp134__ |= ( pSrc->PTKSA_replay_counter << 2 );
-        tmp134__ |= ( pSrc->GTKSA_replay_counter << 4 );
-        tmp134__ |= ( pSrc->reserved << 6 );
-        frameshtons(pCtx, pBuf, tmp134__, 0);
+        tmp144__ = 0U;
+        tmp144__ |= ( pSrc->preauth << 0 );
+        tmp144__ |= ( pSrc->no_pwise << 1 );
+        tmp144__ |= ( pSrc->PTKSA_replay_counter << 2 );
+        tmp144__ |= ( pSrc->GTKSA_replay_counter << 4 );
+        tmp144__ |= ( pSrc->reserved << 6 );
+        frameshtons(pCtx, pBuf, tmp144__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
@@ -26856,9 +27684,9 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U32 tmp135__;
-    tANI_U16 tmp136__;
-    tANI_U16 tmp137__;
+    tANI_U32 tmp145__;
+    tANI_U16 tmp146__;
+    tANI_U16 tmp147__;
     nNeeded  += 12;
     while ( pSrc->present )
     {
@@ -26867,48 +27695,48 @@
         ++pBuf; ++(*pnConsumed);
         pIeLen = pBuf;
         ++pBuf; ++(*pnConsumed);
-        tmp135__ = 0U;
-        tmp135__ |= ( pSrc->maxMPDULen << 0 );
-        tmp135__ |= ( pSrc->supportedChannelWidthSet << 2 );
-        tmp135__ |= ( pSrc->ldpcCodingCap << 4 );
-        tmp135__ |= ( pSrc->shortGI80MHz << 5 );
-        tmp135__ |= ( pSrc->shortGI160and80plus80MHz << 6 );
-        tmp135__ |= ( pSrc->txSTBC << 7 );
-        tmp135__ |= ( pSrc->rxSTBC << 8 );
-        tmp135__ |= ( pSrc->suBeamFormerCap << 11 );
-        tmp135__ |= ( pSrc->suBeamformeeCap << 12 );
-        tmp135__ |= ( pSrc->csnofBeamformerAntSup << 13 );
-        tmp135__ |= ( pSrc->numSoundingDim << 16 );
-        tmp135__ |= ( pSrc->muBeamformerCap << 19 );
-        tmp135__ |= ( pSrc->muBeamformeeCap << 20 );
-        tmp135__ |= ( pSrc->vhtTXOPPS << 21 );
-        tmp135__ |= ( pSrc->htcVHTCap << 22 );
-        tmp135__ |= ( pSrc->maxAMPDULenExp << 23 );
-        tmp135__ |= ( pSrc->vhtLinkAdaptCap << 26 );
-        tmp135__ |= ( pSrc->rxAntPattern << 28 );
-        tmp135__ |= ( pSrc->txAntPattern << 29 );
-        tmp135__ |= ( pSrc->reserved1 << 30 );
-        frameshtonl(pCtx, pBuf, tmp135__, 0);
+        tmp145__ = 0U;
+        tmp145__ |= ( pSrc->maxMPDULen << 0 );
+        tmp145__ |= ( pSrc->supportedChannelWidthSet << 2 );
+        tmp145__ |= ( pSrc->ldpcCodingCap << 4 );
+        tmp145__ |= ( pSrc->shortGI80MHz << 5 );
+        tmp145__ |= ( pSrc->shortGI160and80plus80MHz << 6 );
+        tmp145__ |= ( pSrc->txSTBC << 7 );
+        tmp145__ |= ( pSrc->rxSTBC << 8 );
+        tmp145__ |= ( pSrc->suBeamFormerCap << 11 );
+        tmp145__ |= ( pSrc->suBeamformeeCap << 12 );
+        tmp145__ |= ( pSrc->csnofBeamformerAntSup << 13 );
+        tmp145__ |= ( pSrc->numSoundingDim << 16 );
+        tmp145__ |= ( pSrc->muBeamformerCap << 19 );
+        tmp145__ |= ( pSrc->muBeamformeeCap << 20 );
+        tmp145__ |= ( pSrc->vhtTXOPPS << 21 );
+        tmp145__ |= ( pSrc->htcVHTCap << 22 );
+        tmp145__ |= ( pSrc->maxAMPDULenExp << 23 );
+        tmp145__ |= ( pSrc->vhtLinkAdaptCap << 26 );
+        tmp145__ |= ( pSrc->rxAntPattern << 28 );
+        tmp145__ |= ( pSrc->txAntPattern << 29 );
+        tmp145__ |= ( pSrc->reserved1 << 30 );
+        frameshtonl(pCtx, pBuf, tmp145__, 0);
         *pnConsumed += 4;
         pBuf += 4;
         nBuf -=  4 ;
         frameshtons(pCtx, pBuf, pSrc->rxMCSMap, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp136__ = 0U;
-        tmp136__ |= ( pSrc->rxHighSupDataRate << 0 );
-        tmp136__ |= ( pSrc->reserved2 << 13 );
-        frameshtons(pCtx, pBuf, tmp136__, 0);
+        tmp146__ = 0U;
+        tmp146__ |= ( pSrc->rxHighSupDataRate << 0 );
+        tmp146__ |= ( pSrc->reserved2 << 13 );
+        frameshtons(pCtx, pBuf, tmp146__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
         frameshtons(pCtx, pBuf, pSrc->txMCSMap, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp137__ = 0U;
-        tmp137__ |= ( pSrc->txSupDataRate << 0 );
-        tmp137__ |= ( pSrc->reserved3 << 13 );
-        frameshtons(pCtx, pBuf, tmp137__, 0);
+        tmp147__ = 0U;
+        tmp147__ |= ( pSrc->txSupDataRate << 0 );
+        tmp147__ |= ( pSrc->reserved3 << 13 );
+        frameshtons(pCtx, pBuf, tmp147__, 0);
         *pnConsumed += 2;
         // fieldsEndFlag  = 1 
         nBuf -=  2 ;
@@ -27012,7 +27840,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U16 tmp138__;
+    tANI_U16 tmp148__;
     tANI_U32 status = DOT11F_PARSE_SUCCESS;
     status = dot11fGetPackedIEWAPI(pCtx, pSrc, &nNeeded);
     if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -27041,10 +27869,10 @@
         DOT11F_MEMCPY(pCtx, pBuf, pSrc->multicast_cipher_suite, 4);
         *pnConsumed += 4;
         pBuf += 4;
-        tmp138__ = 0U;
-        tmp138__ |= ( pSrc->preauth << 0 );
-        tmp138__ |= ( pSrc->reserved << 1 );
-        frameshtons(pCtx, pBuf, tmp138__, 0);
+        tmp148__ = 0U;
+        tmp148__ |= ( pSrc->preauth << 0 );
+        tmp148__ |= ( pSrc->reserved << 1 );
+        frameshtons(pCtx, pBuf, tmp148__, 0);
         *pnConsumed += 2;
         pBuf += 2;
         nBuf -=  2 ;
@@ -27187,7 +28015,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp139__;
+    tANI_U8 tmp149__;
     nNeeded  += 2;
     while ( pSrc->present )
     {
@@ -27209,13 +28037,13 @@
         *pBuf = pSrc->version;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp139__ = 0U;
-        tmp139__ |= ( pSrc->reserved << 0 );
-        tmp139__ |= ( pSrc->qack << 4 );
-        tmp139__ |= ( pSrc->queue_request << 5 );
-        tmp139__ |= ( pSrc->txop_request << 6 );
-        tmp139__ |= ( pSrc->more_ack << 7 );
-        *pBuf = tmp139__;
+        tmp149__ = 0U;
+        tmp149__ |= ( pSrc->reserved << 0 );
+        tmp149__ |= ( pSrc->qack << 4 );
+        tmp149__ |= ( pSrc->queue_request << 5 );
+        tmp149__ |= ( pSrc->txop_request << 6 );
+        tmp149__ |= ( pSrc->more_ack << 7 );
+        *pBuf = tmp149__;
         *pnConsumed += 1;
         // fieldsEndFlag  = 1 
         nBuf -=  1 ;
@@ -27238,7 +28066,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp140__;
+    tANI_U8 tmp150__;
     nNeeded  += 2;
     while ( pSrc->present )
     {
@@ -27260,11 +28088,11 @@
         *pBuf = pSrc->version;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp140__ = 0U;
-        tmp140__ |= ( pSrc->param_set_count << 0 );
-        tmp140__ |= ( pSrc->reserved << 4 );
-        tmp140__ |= ( pSrc->uapsd << 7 );
-        *pBuf = tmp140__;
+        tmp150__ = 0U;
+        tmp150__ |= ( pSrc->param_set_count << 0 );
+        tmp150__ |= ( pSrc->reserved << 4 );
+        tmp150__ |= ( pSrc->uapsd << 7 );
+        *pBuf = tmp150__;
         *pnConsumed += 1;
         // fieldsEndFlag  = 1 
         nBuf -=  1 ;
@@ -27287,7 +28115,7 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp141__;
+    tANI_U8 tmp151__;
     nNeeded  += 2;
     while ( pSrc->present )
     {
@@ -27309,15 +28137,15 @@
         *pBuf = pSrc->version;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp141__ = 0U;
-        tmp141__ |= ( pSrc->acvo_uapsd << 0 );
-        tmp141__ |= ( pSrc->acvi_uapsd << 1 );
-        tmp141__ |= ( pSrc->acbk_uapsd << 2 );
-        tmp141__ |= ( pSrc->acbe_uapsd << 3 );
-        tmp141__ |= ( pSrc->reserved1 << 4 );
-        tmp141__ |= ( pSrc->max_sp_length << 5 );
-        tmp141__ |= ( pSrc->reserved2 << 7 );
-        *pBuf = tmp141__;
+        tmp151__ = 0U;
+        tmp151__ |= ( pSrc->acvo_uapsd << 0 );
+        tmp151__ |= ( pSrc->acvi_uapsd << 1 );
+        tmp151__ |= ( pSrc->acbk_uapsd << 2 );
+        tmp151__ |= ( pSrc->acbe_uapsd << 3 );
+        tmp151__ |= ( pSrc->reserved1 << 4 );
+        tmp151__ |= ( pSrc->max_sp_length << 5 );
+        tmp151__ |= ( pSrc->reserved2 << 7 );
+        *pBuf = tmp151__;
         *pnConsumed += 1;
         // fieldsEndFlag  = 1 
         nBuf -=  1 ;
@@ -27340,14 +28168,14 @@
     tANI_U8* pIeLen = 0;
     tANI_U32 nConsumedOnEntry = *pnConsumed;
     tANI_U32 nNeeded = 0U;
-    tANI_U8 tmp142__;
-    tANI_U8 tmp143__;
-    tANI_U8 tmp144__;
-    tANI_U8 tmp145__;
-    tANI_U8 tmp146__;
-    tANI_U8 tmp147__;
-    tANI_U8 tmp148__;
-    tANI_U8 tmp149__;
+    tANI_U8 tmp152__;
+    tANI_U8 tmp153__;
+    tANI_U8 tmp154__;
+    tANI_U8 tmp155__;
+    tANI_U8 tmp156__;
+    tANI_U8 tmp157__;
+    tANI_U8 tmp158__;
+    tANI_U8 tmp159__;
     nNeeded  += 19;
     while ( pSrc->present )
     {
@@ -27375,76 +28203,76 @@
         *pBuf = pSrc->reserved2;
         *pnConsumed += 1;
         pBuf += 1;
-        tmp142__ = 0U;
-        tmp142__ |= ( pSrc->acbe_aifsn << 0 );
-        tmp142__ |= ( pSrc->acbe_acm << 4 );
-        tmp142__ |= ( pSrc->acbe_aci << 5 );
-        tmp142__ |= ( pSrc->unused1 << 7 );
-        *pBuf = tmp142__;
+        tmp152__ = 0U;
+        tmp152__ |= ( pSrc->acbe_aifsn << 0 );
+        tmp152__ |= ( pSrc->acbe_acm << 4 );
+        tmp152__ |= ( pSrc->acbe_aci << 5 );
+        tmp152__ |= ( pSrc->unused1 << 7 );
+        *pBuf = tmp152__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp143__ = 0U;
-        tmp143__ |= ( pSrc->acbe_acwmin << 0 );
-        tmp143__ |= ( pSrc->acbe_acwmax << 4 );
-        *pBuf = tmp143__;
+        tmp153__ = 0U;
+        tmp153__ |= ( pSrc->acbe_acwmin << 0 );
+        tmp153__ |= ( pSrc->acbe_acwmax << 4 );
+        *pBuf = tmp153__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
         frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp144__ = 0U;
-        tmp144__ |= ( pSrc->acbk_aifsn << 0 );
-        tmp144__ |= ( pSrc->acbk_acm << 4 );
-        tmp144__ |= ( pSrc->acbk_aci << 5 );
-        tmp144__ |= ( pSrc->unused2 << 7 );
-        *pBuf = tmp144__;
+        tmp154__ = 0U;
+        tmp154__ |= ( pSrc->acbk_aifsn << 0 );
+        tmp154__ |= ( pSrc->acbk_acm << 4 );
+        tmp154__ |= ( pSrc->acbk_aci << 5 );
+        tmp154__ |= ( pSrc->unused2 << 7 );
+        *pBuf = tmp154__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp145__ = 0U;
-        tmp145__ |= ( pSrc->acbk_acwmin << 0 );
-        tmp145__ |= ( pSrc->acbk_acwmax << 4 );
-        *pBuf = tmp145__;
+        tmp155__ = 0U;
+        tmp155__ |= ( pSrc->acbk_acwmin << 0 );
+        tmp155__ |= ( pSrc->acbk_acwmax << 4 );
+        *pBuf = tmp155__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
         frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp146__ = 0U;
-        tmp146__ |= ( pSrc->acvi_aifsn << 0 );
-        tmp146__ |= ( pSrc->acvi_acm << 4 );
-        tmp146__ |= ( pSrc->acvi_aci << 5 );
-        tmp146__ |= ( pSrc->unused3 << 7 );
-        *pBuf = tmp146__;
+        tmp156__ = 0U;
+        tmp156__ |= ( pSrc->acvi_aifsn << 0 );
+        tmp156__ |= ( pSrc->acvi_acm << 4 );
+        tmp156__ |= ( pSrc->acvi_aci << 5 );
+        tmp156__ |= ( pSrc->unused3 << 7 );
+        *pBuf = tmp156__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp147__ = 0U;
-        tmp147__ |= ( pSrc->acvi_acwmin << 0 );
-        tmp147__ |= ( pSrc->acvi_acwmax << 4 );
-        *pBuf = tmp147__;
+        tmp157__ = 0U;
+        tmp157__ |= ( pSrc->acvi_acwmin << 0 );
+        tmp157__ |= ( pSrc->acvi_acwmax << 4 );
+        *pBuf = tmp157__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
         frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
         *pnConsumed += 2;
         pBuf += 2;
-        tmp148__ = 0U;
-        tmp148__ |= ( pSrc->acvo_aifsn << 0 );
-        tmp148__ |= ( pSrc->acvo_acm << 4 );
-        tmp148__ |= ( pSrc->acvo_aci << 5 );
-        tmp148__ |= ( pSrc->unused4 << 7 );
-        *pBuf = tmp148__;
+        tmp158__ = 0U;
+        tmp158__ |= ( pSrc->acvo_aifsn << 0 );
+        tmp158__ |= ( pSrc->acvo_acm << 4 );
+        tmp158__ |= ( pSrc->acvo_aci << 5 );
+        tmp158__ |= ( pSrc->unused4 << 7 );
+        *pBuf = tmp158__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
-        tmp149__ = 0U;
-        tmp149__ |= ( pSrc->acvo_acwmin << 0 );
-        tmp149__ |= ( pSrc->acvo_acwmax << 4 );
-        *pBuf = tmp149__;
+        tmp159__ = 0U;
+        tmp159__ |= ( pSrc->acvo_acwmin << 0 );
+        tmp159__ |= ( pSrc->acvo_acwmax << 4 );
+        *pBuf = tmp159__;
         *pnConsumed += 1;
         pBuf += 1;
         nBuf -=  1 ;
@@ -29073,6 +29901,64 @@
             FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("txSupDataRate (13): %d\n"), pFrm->VHTCaps.txSupDataRate);
             FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved3 (3): %d\n"), pFrm->VHTCaps.reserved3);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
         FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCREQUEST), FRFL("OperatingMode:\n"));
         if (!pFrm->OperatingMode.present)
         {
@@ -30137,6 +31023,64 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), ( tANI_U8* )&pFrm->VHTOperation.chanCenterFreqSeg2, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), ( tANI_U8* )&pFrm->VHTOperation.basicMCSSet, 2);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
         FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), FRFL("to:\n"));
         FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_ASSOCRESPONSE), pBuf, nBuf);
     }
@@ -31529,6 +32473,76 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), ( tANI_U8* )&pFrm->VHTExtBssLoad.EightyMHzUtil, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), ( tANI_U8* )&pFrm->VHTExtBssLoad.OneSixtyMHzUtil, 1);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("OperatingMode:\n"));
+        if (!pFrm->OperatingMode.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("chanWidth (2): %d\n"), pFrm->OperatingMode.chanWidth);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("reserved (2): %d\n"), pFrm->OperatingMode.reserved);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("rxNSS (3): %d\n"), pFrm->OperatingMode.rxNSS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("rxNSSType (1): %d\n"), pFrm->OperatingMode.rxNSSType);
+        }
         FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), FRFL("to:\n"));
         FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON), pBuf, nBuf);
     }
@@ -32474,6 +33488,76 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), ( tANI_U8* )&pFrm->VHTExtBssLoad.EightyMHzUtil, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), ( tANI_U8* )&pFrm->VHTExtBssLoad.OneSixtyMHzUtil, 1);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("OperatingMode:\n"));
+        if (!pFrm->OperatingMode.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("chanWidth (2): %d\n"), pFrm->OperatingMode.chanWidth);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("reserved (2): %d\n"), pFrm->OperatingMode.reserved);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("rxNSS (3): %d\n"), pFrm->OperatingMode.rxNSS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("rxNSSType (1): %d\n"), pFrm->OperatingMode.rxNSSType);
+        }
         FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), FRFL("to:\n"));
         FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACON2), pBuf, nBuf);
     }
@@ -33592,6 +34676,76 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), ( tANI_U8* )&pFrm->VHTExtBssLoad.EightyMHzUtil, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), ( tANI_U8* )&pFrm->VHTExtBssLoad.OneSixtyMHzUtil, 1);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("OperatingMode:\n"));
+        if (!pFrm->OperatingMode.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("chanWidth (2): %d\n"), pFrm->OperatingMode.chanWidth);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("reserved (2): %d\n"), pFrm->OperatingMode.reserved);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("rxNSS (3): %d\n"), pFrm->OperatingMode.rxNSS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("rxNSSType (1): %d\n"), pFrm->OperatingMode.rxNSSType);
+        }
         FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), FRFL("to:\n"));
         FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_BEACONIES), pBuf, nBuf);
     }
@@ -34997,6 +36151,35 @@
 
 } /* End dot11fUnpackNoticeOfAbs. */
 
+tANI_U32 dot11fPackOperatingMode(tpAniSirGlobal pCtx, tDot11fOperatingMode *pFrm, tANI_U8 *pBuf, tANI_U32 nBuf, tANI_U32 *pnConsumed)
+{
+    tANI_U32 i = 0;
+    tANI_U32 status = 0;
+    (void)i;
+    *pnConsumed = 0U;
+    status = PackCore(pCtx, (tANI_U8*)pFrm, pBuf, nBuf, pnConsumed, FFS_OperatingMode, IES_OperatingMode);
+
+#   ifdef DOT11F_DUMP_FRAMES
+    if (!DOT11F_FAILED(status))
+    {
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("Packed the OperatingMode:\n"));
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("Category:\n"));
+        FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), ( tANI_U8* )&pFrm->Category.category, 1);
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("Action:\n"));
+        FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), ( tANI_U8* )&pFrm->Action.action, 1);
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("OperatingMode:\n"));
+        FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("chanWidth (2): %d\n"), pFrm->OperatingMode.chanWidth);
+        FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("reserved (2): %d\n"), pFrm->OperatingMode.reserved);
+        FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("rxNSS (3): %d\n"), pFrm->OperatingMode.rxNSS);
+        FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("rxNSSType (1): %d\n"), pFrm->OperatingMode.rxNSSType);
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), FRFL("to:\n"));
+        FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_OPERATINGMODE), pBuf, nBuf);
+    }
+#   endif // DOT11F_DUMP_FRAMES
+    return status;
+
+} /* End dot11fUnpackOperatingMode. */
+
 tANI_U32 dot11fPackPresenceReq(tpAniSirGlobal pCtx, tDot11fPresenceReq *pFrm, tANI_U8 *pBuf, tANI_U32 nBuf, tANI_U32 *pnConsumed)
 {
     tANI_U32 i = 0;
@@ -36598,6 +37781,64 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), ( tANI_U8* )&pFrm->VHTExtBssLoad.EightyMHzUtil, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), ( tANI_U8* )&pFrm->VHTExtBssLoad.OneSixtyMHzUtil, 1);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
         FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), FRFL("to:\n"));
         FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBERESPONSE), pBuf, nBuf);
     }
@@ -37827,6 +39068,64 @@
             FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("txSupDataRate (13): %d\n"), pFrm->VHTCaps.txSupDataRate);
             FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved3 (3): %d\n"), pFrm->VHTCaps.reserved3);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
         FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCREQUEST), FRFL("OperatingMode:\n"));
         if (!pFrm->OperatingMode.present)
         {
@@ -38898,6 +40197,64 @@
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), ( tANI_U8* )&pFrm->VHTOperation.chanCenterFreqSeg2, 1);
             FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), ( tANI_U8* )&pFrm->VHTOperation.basicMCSSet, 2);
         }
+        FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("ExtCap:\n"));
+        if (!pFrm->ExtCap.present)
+        {
+            FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("Not present.\n"));
+        }
+        else
+        {
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("bssCoexistMgmtSupport (1): %d\n"), pFrm->ExtCap.bssCoexistMgmtSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved1 (1): %d\n"), pFrm->ExtCap.reserved1);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("extChanSwitch (1): %d\n"), pFrm->ExtCap.extChanSwitch);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved2 (1): %d\n"), pFrm->ExtCap.reserved2);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("psmpCap (1): %d\n"), pFrm->ExtCap.psmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved3 (1): %d\n"), pFrm->ExtCap.reserved3);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("spsmpCap (1): %d\n"), pFrm->ExtCap.spsmpCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("event (1): %d\n"), pFrm->ExtCap.event);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("diagnostics (1): %d\n"), pFrm->ExtCap.diagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("multiDiagnostics (1): %d\n"), pFrm->ExtCap.multiDiagnostics);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("locTracking (1): %d\n"), pFrm->ExtCap.locTracking);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("FMS (1): %d\n"), pFrm->ExtCap.FMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("proxyARPService (1): %d\n"), pFrm->ExtCap.proxyARPService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("coLocIntfReporting (1): %d\n"), pFrm->ExtCap.coLocIntfReporting);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("civicLoc (1): %d\n"), pFrm->ExtCap.civicLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("geospatialLoc (1): %d\n"), pFrm->ExtCap.geospatialLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TFS (1): %d\n"), pFrm->ExtCap.TFS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("wnmSleepMode (1): %d\n"), pFrm->ExtCap.wnmSleepMode);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("timBroadcast (1): %d\n"), pFrm->ExtCap.timBroadcast);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("bssTransition (1): %d\n"), pFrm->ExtCap.bssTransition);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("qosTrafficCap (1): %d\n"), pFrm->ExtCap.qosTrafficCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("acStaCnt (1): %d\n"), pFrm->ExtCap.acStaCnt);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("multiBSSID (1): %d\n"), pFrm->ExtCap.multiBSSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("timingMeas (1): %d\n"), pFrm->ExtCap.timingMeas);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("chanUsage (1): %d\n"), pFrm->ExtCap.chanUsage);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("ssidList (1): %d\n"), pFrm->ExtCap.ssidList);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("DMS (1): %d\n"), pFrm->ExtCap.DMS);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("UTCTSFOffset (1): %d\n"), pFrm->ExtCap.UTCTSFOffset);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSPeerUAPSDBufferSTA (1): %d\n"), pFrm->ExtCap.TDLSPeerUAPSDBufferSTA);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSChannelSwitching (1): %d\n"), pFrm->ExtCap.TDLSChannelSwitching);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("interworkingService (1): %d\n"), pFrm->ExtCap.interworkingService);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("qosMap (1): %d\n"), pFrm->ExtCap.qosMap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("EBR (1): %d\n"), pFrm->ExtCap.EBR);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("sspnInterface (1): %d\n"), pFrm->ExtCap.sspnInterface);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved4 (1): %d\n"), pFrm->ExtCap.reserved4);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("msgCFCap (1): %d\n"), pFrm->ExtCap.msgCFCap);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSSupport (1): %d\n"), pFrm->ExtCap.TDLSSupport);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSProhibited (1): %d\n"), pFrm->ExtCap.TDLSProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSChanSwitProhibited (1): %d\n"), pFrm->ExtCap.TDLSChanSwitProhibited);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("rejectUnadmittedTraffic (1): %d\n"), pFrm->ExtCap.rejectUnadmittedTraffic);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("serviceIntervalGranularity (3): %d\n"), pFrm->ExtCap.serviceIntervalGranularity);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("identifierLoc (1): %d\n"), pFrm->ExtCap.identifierLoc);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("uapsdCoexistence (1): %d\n"), pFrm->ExtCap.uapsdCoexistence);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("wnmNotification (1): %d\n"), pFrm->ExtCap.wnmNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved5 (1): %d\n"), pFrm->ExtCap.reserved5);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("UTF8SSID (1): %d\n"), pFrm->ExtCap.UTF8SSID);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved6 (13): %d\n"), pFrm->ExtCap.reserved6);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("TDLSWiderBW (1): %d\n"), pFrm->ExtCap.TDLSWiderBW);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("operModeNotification (1): %d\n"), pFrm->ExtCap.operModeNotification);
+            FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("reserved7 (1): %d\n"), pFrm->ExtCap.reserved7);
+        }
         FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), FRFL("to:\n"));
         FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_REASSOCRESPONSE), pBuf, nBuf);
     }
@@ -39304,6 +40661,9 @@
             case SigFfNumOfRepetitions:
                 dot11fPackFfNumOfRepetitions(pCtx, (tDot11fFfNumOfRepetitions* )(pSrc + pFf->offset), pBufRemaining);
                 break;
+            case SigFfOperatingMode:
+                dot11fPackFfOperatingMode(pCtx, (tDot11fFfOperatingMode* )(pSrc + pFf->offset), pBufRemaining);
+                break;
             case SigFfP2POUI:
                 dot11fPackFfP2POUI(pCtx, (tDot11fFfP2POUI* )(pSrc + pFf->offset), pBufRemaining);
                 break;
@@ -39554,6 +40914,9 @@
                     case SigIeERPInfo:
                         status |= dot11fPackIeERPInfo(pCtx, ( tDot11fIEERPInfo* )(pSrc + pIe->offset + sizeof(tDot11fIEERPInfo) * i ),  pBufRemaining, nBufRemaining, &len);
                         break;
+                    case SigIeExtCap:
+                        status |= dot11fPackIeExtCap(pCtx, ( tDot11fIEExtCap* )(pSrc + pIe->offset + sizeof(tDot11fIEExtCap) * i ),  pBufRemaining, nBufRemaining, &len);
+                        break;
                     case SigIeExtChanSwitchAnn:
                         status |= dot11fPackIeExtChanSwitchAnn(pCtx, ( tDot11fIEExtChanSwitchAnn* )(pSrc + pIe->offset + sizeof(tDot11fIEExtChanSwitchAnn) * i ),  pBufRemaining, nBufRemaining, &len);
                         break;
@@ -39596,6 +40959,9 @@
                     case SigIeNeighborReport:
                         status |= dot11fPackIeNeighborReport(pCtx, ( tDot11fIENeighborReport* )(pSrc + pIe->offset + sizeof(tDot11fIENeighborReport) * i ),  pBufRemaining, nBufRemaining, &len);
                         break;
+                    case SigIeOperatingMode:
+                        status |= dot11fPackIeOperatingMode(pCtx, ( tDot11fIEOperatingMode* )(pSrc + pIe->offset + sizeof(tDot11fIEOperatingMode) * i ),  pBufRemaining, nBufRemaining, &len);
+                        break;
                     case SigIeP2PAssocReq:
                         status |= dot11fPackIeP2PAssocReq(pCtx, ( tDot11fIEP2PAssocReq* )(pSrc + pIe->offset + sizeof(tDot11fIEP2PAssocReq) * i ),  pBufRemaining, nBufRemaining, &len);
                         break;
diff --git a/CORE/SYS/legacy/src/utils/src/parserApi.c b/CORE/SYS/legacy/src/utils/src/parserApi.c
index f20379d..bec9676 100644
--- a/CORE/SYS/legacy/src/utils/src/parserApi.c
+++ b/CORE/SYS/legacy/src/utils/src/parserApi.c
@@ -947,6 +947,29 @@
     return eSIR_SUCCESS;
 }
 
+tSirRetStatus
+PopulateDot11fExtCap(tpAniSirGlobal      pMac,
+                           tDot11fIEExtCap  *pDot11f)
+{
+    pDot11f->present = 1;
+    pDot11f->operModeNotification = 1;
+    
+    return eSIR_SUCCESS;
+}
+
+tSirRetStatus
+PopulateDot11fOperatingMode(tpAniSirGlobal      pMac,
+                           tDot11fIEOperatingMode  *pDot11f,
+                           tpPESession   psessionEntry)
+{
+    pDot11f->present = 1;
+    
+    pDot11f->chanWidth = psessionEntry->gLimOperatingMode.chanWidth;
+    pDot11f->rxNSS = psessionEntry->gLimOperatingMode.rxNSS;
+    pDot11f->rxNSSType = psessionEntry->gLimOperatingMode.rxNSSType;
+    
+    return eSIR_SUCCESS;
+}
 
 #endif
 #ifdef WLAN_SOFTAP_FEATURE
@@ -2866,6 +2889,12 @@
          pBeaconStruct->VHTExtBssLoad.present = 1;
          palCopyMemory( pMac, &pBeaconStruct->VHTExtBssLoad, &pBies->VHTExtBssLoad, sizeof( tDot11fIEVHTExtBssLoad) );
     }
+    if( pBies->OperatingMode.present)
+    {
+        pBeaconStruct->OperatingMode.present = 1;
+        palCopyMemory( pMac, &pBeaconStruct->OperatingMode, &pBies->OperatingMode, sizeof( tDot11fIEOperatingMode) );
+    }
+
 #endif
     palFreeMemory(pMac->hHdd, pBies);
 
@@ -3125,6 +3154,11 @@
     {
         palCopyMemory( pMac, &pBeaconStruct->VHTExtBssLoad, &pBeacon->VHTExtBssLoad, sizeof( tDot11fIEVHTExtBssLoad) );
     }
+    if(pBeacon->OperatingMode.present)
+    {
+        palCopyMemory( pMac, &pBeaconStruct->OperatingMode, &pBeacon->OperatingMode, sizeof( tDot11fIEOperatingMode) );
+    }
+      
 #endif
 
     palFreeMemory(pMac->hHdd, pBeacon);
diff --git a/CORE/WDA/inc/legacy/halMsgApi.h b/CORE/WDA/inc/legacy/halMsgApi.h
index 968130a..81b60d1 100644
--- a/CORE/WDA/inc/legacy/halMsgApi.h
+++ b/CORE/WDA/inc/legacy/halMsgApi.h
@@ -896,7 +896,13 @@
     tANI_U16 paramChangeBitmap;
 }tUpdateBeaconParams, *tpUpdateBeaconParams;
 
-
+#ifdef WLAN_FEATURE_11AC
+typedef struct 
+{
+   tANI_U16   opMode;
+   tANI_U16  staId;
+}tUpdateVHTOpMode, *tpUpdateVHTOpMode;
+#endif
 
 //HAL MSG: SIR_HAL_UPDATE_CF_IND
 typedef struct
diff --git a/CORE/WDA/inc/wlan_qct_wda.h b/CORE/WDA/inc/wlan_qct_wda.h
index 9d493dd..167ca83 100644
--- a/CORE/WDA/inc/wlan_qct_wda.h
+++ b/CORE/WDA/inc/wlan_qct_wda.h
@@ -1269,6 +1269,10 @@
 
 #define WDA_SET_TM_LEVEL_REQ       SIR_HAL_SET_TM_LEVEL_REQ
 
+#ifdef WLAN_FEATURE_11AC
+#define WDA_UPDATE_OP_MODE         SIR_HAL_UPDATE_OP_MODE
+#endif
+
 #ifdef FEATURE_WLAN_INTEGRATED_SOC
 tSirRetStatus wdaPostCtrlMsg(tpAniSirGlobal pMac, tSirMsgQ *pMsg);
 #endif
diff --git a/CORE/WDA/src/wlan_qct_wda.c b/CORE/WDA/src/wlan_qct_wda.c
index 6d26a05..4fc82c3 100644
--- a/CORE/WDA/src/wlan_qct_wda.c
+++ b/CORE/WDA/src/wlan_qct_wda.c
@@ -185,6 +185,10 @@
 
 VOS_STATUS WDA_ProcessSetTmLevelReq(tWDA_CbContext *pWDA,
                                     tAniSetTmLevelReq *setTmLevelReq);
+#ifdef WLAN_FEATURE_11AC
+VOS_STATUS WDA_ProcessUpdateOpMode(tWDA_CbContext *pWDA, 
+                                   tUpdateVHTOpMode *pData);
+#endif
 /*
  * FUNCTION: WDA_open
  * Allocate the WDA context 
@@ -9523,7 +9527,23 @@
          WDA_ProcessSetTmLevelReq(pWDA, (tAniSetTmLevelReq *)pMsg->bodyptr);
          break;
       }
-
+#ifdef WLAN_FEATURE_11AC
+      case WDA_UPDATE_OP_MODE:
+      {
+          if(WDA_getHostWlanFeatCaps(DOT11AC) && WDA_getFwWlanFeatCaps(DOT11AC))
+          {
+              if(WDA_getHostWlanFeatCaps(DOT11AC_OPMODE) && WDA_getFwWlanFeatCaps(DOT11AC_OPMODE))
+                   WDA_ProcessUpdateOpMode(pWDA, (tUpdateVHTOpMode *)pMsg->bodyptr);
+              else
+                   VOS_TRACE(VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
+                                            " VHT OpMode Feature is Not Supported \n");
+          } 
+          else 
+                   VOS_TRACE(VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
+                                            " 11AC Feature is Not Supported \n");
+          break;
+      }
+#endif
       default:
       {
          VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
@@ -11396,4 +11416,78 @@
    return pWDA->needShutdown;   
 }
 
+#ifdef WLAN_FEATURE_11AC
+/*
+ * FUNCTION: WDA_SetBeaconFilterReqCallback
+ * 
+ */
+void WDA_SetUpdateOpModeReqCallback(WDI_Status status, void* pUserData)
+{
+   tWDA_ReqParams *pWdaParams = (tWDA_ReqParams *)pUserData;
+   VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_INFO,
+                                          "<------ %s " ,__FUNCTION__);
+   if(NULL == pWdaParams)
+   {
+      VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
+              "%s: pWdaParams received NULL", __FUNCTION__);
+      VOS_ASSERT(0) ;
+      return ;
+   }
 
+   vos_mem_free(pWdaParams->wdaMsgParam) ;
+   vos_mem_free(pWdaParams->wdaWdiApiMsgParam);
+   vos_mem_free(pWdaParams) ;
+   /* 
+    * No respone required for SetBeaconFilter req so just free the request 
+    * param here
+    */
+
+   return ;
+}
+
+VOS_STATUS WDA_ProcessUpdateOpMode(tWDA_CbContext *pWDA, 
+                                   tUpdateVHTOpMode *pData)
+{
+   WDI_Status status = WDI_STATUS_SUCCESS ;
+   tWDA_ReqParams *pWdaParams ;
+   WDI_UpdateVHTOpMode *wdiTemp = (WDI_UpdateVHTOpMode *)vos_mem_malloc(
+                                             sizeof(WDI_UpdateVHTOpMode)) ;
+   if(NULL == wdiTemp) 
+   {
+      VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
+                           "%s: VOS MEM Alloc Failure", __FUNCTION__); 
+      VOS_ASSERT(0);
+      return VOS_STATUS_E_NOMEM;
+   }
+   pWdaParams = (tWDA_ReqParams *)vos_mem_malloc(sizeof(tWDA_ReqParams)) ;
+   if(NULL == pWdaParams)
+   {
+      VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
+                           "%s: VOS MEM Alloc Failure", __FUNCTION__); 
+      VOS_ASSERT(0);
+      vos_mem_free(wdiTemp);
+      return VOS_STATUS_E_NOMEM;
+   }
+
+   wdiTemp->opMode = pData->opMode;
+   wdiTemp->staId  = pData->staId;
+   
+   pWdaParams->pWdaContext = pWDA;
+   /* Store Req pointer, as this will be used for response */
+   pWdaParams->wdaMsgParam = (void *)pData;
+   /* store Params pass it to WDI */
+   pWdaParams->wdaWdiApiMsgParam = (void *)wdiTemp ;
+
+   status = WDI_UpdateVHTOpModeReq( wdiTemp, (WDI_UpdateVHTOpModeCb) WDA_SetUpdateOpModeReqCallback, pWdaParams);
+
+   if(IS_WDI_STATUS_FAILURE(status))
+   {
+      VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
+        "Failure in UPDATE VHT OP_MODE REQ Params WDI API, free all the memory " );
+      vos_mem_free(pWdaParams->wdaWdiApiMsgParam) ;
+      vos_mem_free(pWdaParams->wdaMsgParam);
+      vos_mem_free(pWdaParams);
+   }
+   return CONVERT_WDI2VOS_STATUS(status) ;
+} 
+#endif
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h
index 964e435..bd44944 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi.h
@@ -2450,7 +2450,13 @@
     wpt_uint16 usChangeBitmap;
 }WDI_UpdateBeaconParamsInfoType;
 
-
+#ifdef WLAN_FEATURE_11AC
+typedef struct
+{
+   wpt_uint16  opMode;
+   wpt_uint16  staId;
+}WDI_UpdateVHTOpMode;
+#endif
 
 /*---------------------------------------------------------------------------
   WDI_UpdateBeaconParamsType
@@ -6155,6 +6161,12 @@
 typedef void  (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
                                                 void*        pUserData);
 
+#ifdef WLAN_FEATURE_11AC
+typedef void  (*WDI_UpdateVHTOpModeCb)(WDI_Status   wdiStatus,
+                                void*        pUserData);
+#endif
+
+
 /*========================================================================
  *     Function Declarations and Documentation
  ==========================================================================*/
@@ -8814,8 +8826,16 @@
   WDI_WlanVersionType     *pWcnssApiVersion
 );
 
+#ifdef WLAN_FEATURE_11AC
+WDI_Status
+WDI_UpdateVHTOpModeReq
+(
+  WDI_UpdateVHTOpMode    *pData,
+  WDI_UpdateVHTOpModeCb  wdiUpdateVHTOpModeCb, 
+  void*                  pUserData
+);
 
-
+#endif
 #ifdef __cplusplus
  }
 #endif 
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi_i.h b/CORE/WDI/CP/inc/wlan_qct_wdi_i.h
index 268edd4..716d7f2 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi_i.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi_i.h
@@ -411,6 +411,11 @@
   /* Send a capability exchange message to HAL */
   WDI_FEATURE_CAPS_EXCHANGE_REQ                 = 79,
 
+#ifdef WLAN_FEATURE_11AC
+  /* Send a capability exchange message to HAL */
+  WDI_UPDATE_VHT_OP_MODE_REQ                    = 80,
+#endif
+
   WDI_MAX_REQ,
 
   /*Send a suspend Indication down to HAL*/
@@ -662,6 +667,10 @@
   /* FW sends its capability bitmap as a response */
   WDI_FEATURE_CAPS_EXCHANGE_RESP                = 78,
 
+#ifdef WLAN_FEATURE_11AC
+  WDI_UPDATE_VHT_OP_MODE_RESP                   = 79,
+#endif
+
   /*-------------------------------------------------------------------------
     Indications
      !! Keep these last in the enum if possible
@@ -4925,5 +4934,21 @@
   WDI_EventInfoType*     pEventData
 );
 
+#ifdef WLAN_FEATURE_11AC
+WDI_Status
+WDI_ProcessUpdateVHTOpModeReq
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+
+WDI_Status
+WDI_ProcessUpdateVHTOpModeRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+);
+#endif
+
 #endif /*WLAN_QCT_WDI_I_H*/
 
diff --git a/CORE/WDI/CP/src/wlan_qct_wdi.c b/CORE/WDI/CP/src/wlan_qct_wdi.c
index d396273..58c42c1 100644
--- a/CORE/WDI/CP/src/wlan_qct_wdi.c
+++ b/CORE/WDI/CP/src/wlan_qct_wdi.c
@@ -107,7 +107,7 @@
  * and other two places - wlan_hal_msg.h and halMsg.c (FW file)
  */
 static placeHolderInCapBitmap supportEnabledFeatures[] =
-   {MCC, P2P, DOT11AC};
+   {MCC, P2P, DOT11AC, SLM_SESSIONIZATION, DOT11AC_OPMODE};
 
 /*-------------------------------------------------------------------------- 
    WLAN DAL  State Machine
@@ -310,6 +310,9 @@
 
   WDI_ProcessSetTmLevelReq,             /*WDI_SET_TM_LEVEL_REQ*/
   WDI_ProcessFeatureCapsExchangeReq,    /* WDI_FEATURE_CAPS_EXCHANGE_REQ */
+#ifdef WLAN_FEATURE_11AC
+  WDI_ProcessUpdateVHTOpModeReq,        /* WDI_UPDATE_VHT_OP_MODE_REQ */
+#endif
   /*-------------------------------------------------------------------------
     Indications
   -------------------------------------------------------------------------*/
@@ -479,6 +482,9 @@
 #endif // WLAN_FEATURE_GTK_OFFLOAD
   WDI_ProcessSetTmLevelRsp,             /* WDI_SET_TM_LEVEL_RESP */
   WDI_ProcessFeatureCapsExchangeRsp,    /* WDI_FEATURE_CAPS_EXCHANGE_RESP */
+#ifdef WLAN_FEATURE_11AC
+  WDI_ProcessUpdateVHTOpModeRsp,        /* WDI_UPDATE_VHT_OP_MODE_RESP */
+#endif
 
   /*---------------------------------------------------------------------
     Indications
@@ -20526,6 +20532,10 @@
     return WLAN_HAL_SET_THERMAL_MITIGATION_REQ; 
   case WDI_FEATURE_CAPS_EXCHANGE_REQ:
     return WLAN_HAL_FEATURE_CAPS_EXCHANGE_REQ;
+#ifdef WLAN_FEATURE_11AC
+  case WDI_UPDATE_VHT_OP_MODE_REQ:
+    return WLAN_HAL_UPDATE_VHT_OP_MODE_REQ;
+#endif
   default:
     return WLAN_HAL_MSG_MAX;
   }
@@ -20745,6 +20755,10 @@
     return WDI_SET_TM_LEVEL_RESP;
   case WLAN_HAL_FEATURE_CAPS_EXCHANGE_RSP:
       return WDI_FEATURE_CAPS_EXCHANGE_RESP;
+#ifdef WLAN_FEATURE_11AC
+  case WLAN_HAL_UPDATE_VHT_OP_MODE_RSP:
+      return WDI_UPDATE_VHT_OP_MODE_RESP;
+#endif
   default:
     return eDRIVER_TYPE_MAX;
   }
@@ -24484,6 +24498,45 @@
    return WDI_STATUS_SUCCESS; 
 }
 
+#ifdef WLAN_FEATURE_11AC
+WDI_Status
+WDI_ProcessUpdateVHTOpModeRsp
+( 
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+)
+{
+   WDI_UpdateVHTOpModeCb   wdiVHTOpModeCb = NULL;
+   WDI_Status           wdiStatus;
+   eHalStatus           halStatus;
+   
+   /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+
+   /*-------------------------------------------------------------------------
+     Sanity check
+   -------------------------------------------------------------------------*/
+   if (( NULL == pWDICtx ) || ( NULL == pEventData ) ||
+       ( NULL == pEventData->pEventData))
+   {
+      WPAL_TRACE( eWLAN_MODULE_DAL_CTRL, eWLAN_PAL_TRACE_LEVEL_WARN,
+                  "%s: Invalid parameters", __FUNCTION__);
+      WDI_ASSERT(0);
+      return WDI_STATUS_E_FAILURE;
+   }
+   wdiVHTOpModeCb = (WDI_UpdateVHTOpModeCb)pEventData->pCBfnc;
+
+   /*-------------------------------------------------------------------------
+     Extract response and send it to UMAC
+   -------------------------------------------------------------------------*/
+   halStatus = *((eHalStatus*)pEventData->pEventData);
+   wdiStatus   =   WDI_HAL_2_WDI_STATUS(halStatus);
+
+   /*Notify UMAC*/
+   wdiVHTOpModeCb( wdiStatus, pEventData->pUserData);
+
+   return WDI_STATUS_SUCCESS; 
+}
+#endif
 /**
  @brief WDI_getHostWlanFeatCaps
         WDI API that returns whether the feature passed to it as enum value in
@@ -24548,3 +24601,102 @@
     }
     return featSupported;
 }
+
+#ifdef WLAN_FEATURE_11AC
+WDI_Status
+WDI_ProcessUpdateVHTOpModeReq
+(
+  WDI_ControlBlockType*  pWDICtx,
+  WDI_EventInfoType*     pEventData
+)
+{
+  WDI_UpdateVHTOpMode*    pwdiVHTOpModeParams = NULL;
+  WDI_UpdateVHTOpModeCb   wdiVHTOpModeCb = NULL;
+  wpt_uint8*              pSendBuffer        = NULL; 
+  wpt_uint16              usDataOffset       = 0;
+  wpt_uint16              usSendSize         = 0;
+
+  /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+
+  WPAL_TRACE(eWLAN_MODULE_DAL_CTRL, eWLAN_PAL_TRACE_LEVEL_INFO,
+         "%s", __FUNCTION__);
+
+  /*-------------------------------------------------------------------------
+    Sanity check 
+  -------------------------------------------------------------------------*/
+   if (( NULL == pEventData ) ||
+       ( NULL == (pwdiVHTOpModeParams = (WDI_UpdateVHTOpMode*)pEventData->pEventData)) ||
+       ( NULL == (wdiVHTOpModeCb   = (WDI_UpdateVHTOpModeCb)pEventData->pCBfnc)))
+   {
+      WPAL_TRACE( eWLAN_MODULE_DAL_CTRL, eWLAN_PAL_TRACE_LEVEL_WARN,
+                  "%s: Invalid parameters", __FUNCTION__);
+      WDI_ASSERT(0);
+      return WDI_STATUS_E_FAILURE;
+   }
+  
+  /*-----------------------------------------------------------------------
+    Get message buffer
+  -----------------------------------------------------------------------*/
+  if (( WDI_STATUS_SUCCESS != WDI_GetMessageBuffer( pWDICtx, WDI_UPDATE_VHT_OP_MODE_REQ,
+                        sizeof(WDI_UpdateVHTOpMode),
+                        &pSendBuffer, &usDataOffset, &usSendSize))||
+      ( usSendSize < (usDataOffset + sizeof(WDI_UpdateVHTOpMode) )))
+  {
+     WPAL_TRACE( eWLAN_MODULE_DAL_CTRL,  eWLAN_PAL_TRACE_LEVEL_WARN,
+              "Unable to get send buffer in update vht opMode req");
+     WDI_ASSERT(0);
+     return WDI_STATUS_E_FAILURE;
+  }
+
+  WPAL_TRACE( eWLAN_MODULE_DAL_CTRL,  eWLAN_PAL_TRACE_LEVEL_WARN,
+            "pwdiVHTOpModeParams->opMode=%d, pwdiVHTOpModeParams->staId=%d\n", pwdiVHTOpModeParams->opMode, pwdiVHTOpModeParams->staId);
+
+  wpalMemoryCopy( pSendBuffer+usDataOffset, pwdiVHTOpModeParams,
+                  sizeof(WDI_UpdateVHTOpMode));
+
+  /*-------------------------------------------------------------------------
+    Send Start Request to HAL 
+  -------------------------------------------------------------------------*/
+  return  WDI_SendMsg( pWDICtx, pSendBuffer, usSendSize, 
+                       wdiVHTOpModeCb,
+                       pEventData->pUserData, WDI_UPDATE_VHT_OP_MODE_RESP);
+
+}
+
+WDI_Status
+WDI_UpdateVHTOpModeReq
+(
+  WDI_UpdateVHTOpMode    *pData,
+  WDI_UpdateVHTOpModeCb  wdiUpdateVHTOpModeCb,
+  void*                  pUserData
+)
+{
+  WDI_EventInfoType      wdiEventData;
+
+  /*------------------------------------------------------------------------
+    Sanity Check
+  ------------------------------------------------------------------------*/
+  if ( eWLAN_PAL_FALSE == gWDIInitialized )
+  {
+    WPAL_TRACE(eWLAN_MODULE_DAL_CTRL, eWLAN_PAL_TRACE_LEVEL_ERROR,
+              "WDI API call before module is initialized - Fail request");
+
+    return WDI_STATUS_E_NOT_ALLOWED;
+  }
+
+  /*------------------------------------------------------------------------
+    Fill in Event data and post to the Main FSM
+  ------------------------------------------------------------------------*/
+  wdiEventData.wdiRequest      = WDI_UPDATE_VHT_OP_MODE_REQ;
+  wdiEventData.pEventData      = pData;
+  wdiEventData.uEventDataSize  = sizeof(WDI_UpdateVHTOpMode); 
+  wdiEventData.pCBfnc          = wdiUpdateVHTOpModeCb;
+  wdiEventData.pUserData       = pUserData;
+  
+  WPAL_TRACE( eWLAN_MODULE_DAL_CTRL,  eWLAN_PAL_TRACE_LEVEL_WARN,
+            "pData->opMode=%d, pData->staId=%d\n", pData->opMode, pData->staId);
+
+  return WDI_PostMainEvent(&gWDICb, WDI_REQUEST_EVENT, &wdiEventData);
+
+} 
+#endif
diff --git a/riva/inc/wlan_hal_msg.h b/riva/inc/wlan_hal_msg.h
index 8da0434..6ba6178 100644
--- a/riva/inc/wlan_hal_msg.h
+++ b/riva/inc/wlan_hal_msg.h
@@ -349,6 +349,9 @@
    WLAN_HAL_SET_THERMAL_MITIGATION_REQ      = 178,
    WLAN_HAL_SET_THERMAL_MITIGATION_RSP      = 179,
 
+   WLAN_HAL_UPDATE_VHT_OP_MODE_REQ          = 182,
+   WLAN_HAL_UPDATE_VHT_OP_MODE_RSP          = 183,
+ 
   WLAN_HAL_MSG_MAX = WLAN_HAL_MSG_TYPE_MAX_ENUM_SIZE
 }tHalHostMsgType;
 
@@ -3185,6 +3188,29 @@
    tSirMicFailureInd micFailureInd;
 }  tMicFailureIndMsg, *tpMicFailureIndMsg;
 
+typedef PACKED_PRE struct PACKED_POST
+{
+   tANI_U16  opMode;
+   tANI_U16  staId;
+}tUpdateVHTOpMode, *tpUpdateVHTOpMode; 
+
+typedef PACKED_PRE struct PACKED_POST
+{
+    tHalMsgHeader header;
+    tUpdateVHTOpMode updateVhtOpMode;
+}  tUpdateVhtOpModeReqMsg, *tpUpdateVhtOpModeReqMsg;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+    tANI_U32   status;
+} tUpdateVhtOpModeParamsRsp, *tpUpdateVhtOpModeParamsRsp;
+
+typedef PACKED_PRE struct PACKED_POST
+{
+    tHalMsgHeader header;
+    tUpdateVhtOpModeParamsRsp updateVhtOpModeRspParam;
+}  tUpdateVhtOpModeParamsRspMsg,  *tpUpdateVhtOpModeParamsRspMsg;
+
 /*---------------------------------------------------------------------------
  * WLAN_HAL_UPDATE_BEACON_REQ
  *--------------------------------------------------------------------------*/
@@ -5359,6 +5385,7 @@
     P2P        = 1,
     DOT11AC    = 2,
     SLM_SESSIONIZATION = 3,
+    DOT11AC_OPMODE    = 4,
     MAX_FEATURE_SUPPORTED = 128,
 } placeHolderInCapBitmap;