summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhishek Singh <absingh@qti.qualcomm.com>2015-08-25 10:25:54 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2015-09-01 14:22:07 +0530
commit3c02341e0fd083b67101ffedcdcacd413dedc4ee (patch)
tree2473b824624f436f72391eda4ce9c45dca9cf9b1
parentc5165a7082ede23cde10863ebd5b018a4fe8472a (diff)
qcacld-2.0: Implement ECSA Action Frame
Implement: 1. Send & receive logic of ECSA action frame from P2P-CLI/GO 2. Trigger channel change on P2P GO side once ECSA action frame is received by, i) Adding CSA & ESCA IE in beacon template and updating FW to send it out ii) Notifying supplicant of channel change for P2P GO. This change include UMAC changes CRs-fixed: 895240 Change-Id: Ie6c9154fb44ec75c699e37aaba660c637869c099
-rw-r--r--CORE/MAC/inc/sirApi.h26
-rw-r--r--CORE/MAC/inc/sirMacProtDef.h7
-rw-r--r--CORE/MAC/inc/wniApi.h2
-rw-r--r--CORE/MAC/src/cfg/cfgUtil/dot11f.frms16
-rw-r--r--CORE/MAC/src/include/dot11f.h44
-rw-r--r--CORE/MAC/src/pe/lim/limProcessActionFrame.c108
-rw-r--r--CORE/MAC/src/pe/lim/limProcessMessageQueue.c1
-rw-r--r--CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c113
-rw-r--r--CORE/MAC/src/pe/lim/limSendManagementFrames.c144
-rw-r--r--CORE/MAC/src/pe/lim/limTypes.h3
-rw-r--r--CORE/MAC/src/pe/sch/schBeaconGen.c9
-rw-r--r--CORE/SAP/inc/sapApi.h11
-rw-r--r--CORE/SAP/src/sapApiLinkCntl.c17
-rw-r--r--CORE/SAP/src/sapFsm.c9
-rw-r--r--CORE/SAP/src/sapModule.c10
-rw-r--r--CORE/SME/inc/csrApi.h3
-rw-r--r--CORE/SME/inc/sme_Api.h2
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c32
-rw-r--r--CORE/SME/src/csr/csrInsideApi.h2
-rw-r--r--CORE/SME/src/csr/csrUtil.c2
-rw-r--r--CORE/SME/src/sme_common/sme_Api.c84
-rw-r--r--CORE/SYS/legacy/src/utils/src/dot11f.c1910
22 files changed, 1641 insertions, 914 deletions
diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h
index 34fa54d9f8f3..614346e0e7f4 100644
--- a/CORE/MAC/inc/sirApi.h
+++ b/CORE/MAC/inc/sirApi.h
@@ -6299,4 +6299,30 @@ struct rssi_breach_event {
v_MACADDR_t curr_bssid;
};
+/**
+ * struct sir_sme_ext_change_chan_req - channel change request
+ * @message_type: message id
+ * @length: msg length
+ * @new_channel: new channel
+ * @session_id: session id
+ */
+struct sir_sme_ext_cng_chan_req
+{
+ uint16_t message_type; /* eWNI_SME_EXT_CHANGE_CHANNEL */
+ uint16_t length;
+ uint32_t new_channel;
+ uint8_t session_id;
+};
+
+/**
+ * struct sir_sme_ext_change_chan_ind.
+ * @session_id: session id
+ * @new_channel: new channel to change
+ */
+struct sir_sme_ext_cng_chan_ind
+{
+ uint8_t session_id;
+ uint8_t new_channel;
+};
+
#endif /* __SIR_API_H */
diff --git a/CORE/MAC/inc/sirMacProtDef.h b/CORE/MAC/inc/sirMacProtDef.h
index 429d631d671d..8f7fdaf98cd1 100644
--- a/CORE/MAC/inc/sirMacProtDef.h
+++ b/CORE/MAC/inc/sirMacProtDef.h
@@ -213,6 +213,8 @@
// Public Action for 20/40 BSS Coexistence
#define SIR_MAC_ACTION_2040_BSS_COEXISTENCE 0
+#define SIR_MAC_ACTION_EXT_CHANNEL_SWITCH_ID 4
+
#ifdef WLAN_FEATURE_11W
//11w SA query request/response action frame category code
@@ -357,6 +359,11 @@
#define SIR_MAC_OPERATING_CLASS_EID 59
#define SIR_MAC_OPERATING_CLASS_EID_MIN 2
#define SIR_MAC_OPERATING_CLASS_EID_MAX 253
+#define SIR_MAC_CHNL_EXTENDED_SWITCH_ANN_EID 60
+#define SIR_MAC_CHNL_EXTENDED_SWITCH_ANN_EID_MIN 0
+#define SIR_MAC_CHNL_EXTENDED_SWITCH_ANN_EID_MAX 255
+
+
// reserved 51-69
#define SIR_MAC_RM_ENABLED_CAPABILITY_EID 70
#define SIR_MAC_RM_ENABLED_CAPABILITY_EID_MIN 5
diff --git a/CORE/MAC/inc/wniApi.h b/CORE/MAC/inc/wniApi.h
index d0bbf1cabfcd..c4b04679114e 100644
--- a/CORE/MAC/inc/wniApi.h
+++ b/CORE/MAC/inc/wniApi.h
@@ -395,6 +395,8 @@ enum eWniMsgTypes
eWNI_SME_TSF_EVENT,
eWNI_SME_FW_DUMP_IND,
eWNI_SME_PDEV_SET_HT_VHT_IE,
+ eWNI_SME_EXT_CHANGE_CHANNEL,
+ eWNI_SME_EXT_CHANGE_CHANNEL_IND,
eWNI_SME_MSG_TYPES_END
};
diff --git a/CORE/MAC/src/cfg/cfgUtil/dot11f.frms b/CORE/MAC/src/cfg/cfgUtil/dot11f.frms
index 6e021c48b270..23eb8677813b 100644
--- a/CORE/MAC/src/cfg/cfgUtil/dot11f.frms
+++ b/CORE/MAC/src/cfg/cfgUtil/dot11f.frms
@@ -431,6 +431,15 @@ FF VhtUserPositionArray(16) // 8.4.1.52
userPositionArray[16];
}
+FF ext_chan_switch_ann_action(4)
+{
+ {
+ switch_mode: 8;
+ op_class: 8;
+ new_channel: 8;
+ switch_count: 8;
+ }
+}
/////////////////////////////////////////////////////////////////////////////
// TLVs //
/////////////////////////////////////////////////////////////////////////////
@@ -3988,6 +3997,13 @@ FRAME TimingAdvertisementFrame // 8.3.3.15
OPTIE Vendor3IE;
}
+FRAME ext_channel_switch_action_frame
+{
+ FF Category;
+ FF Action;
+ FF ext_chan_switch_ann_action;
+}
+
// Local Variables:
// mode: c++
// fill-column: 77
diff --git a/CORE/MAC/src/include/dot11f.h b/CORE/MAC/src/include/dot11f.h
index 0f9e2a3e057d..039b86d4743a 100644
--- a/CORE/MAC/src/include/dot11f.h
+++ b/CORE/MAC/src/include/dot11f.h
@@ -37,7 +37,7 @@
*
*
* This file was automatically generated by 'framesc'
- * Thu Apr 30 13:39:44 2015 from the following file(s):
+ * Tue Sep 1 12:21:44 2015 from the following file(s):
*
* dot11f.frms
*
@@ -584,6 +584,28 @@ void dot11fUnpackFfVhtUserPositionArray(tpAniSirGlobal, tANI_U8*, tDot11fFfVhtUs
void dot11fPackFfVhtUserPositionArray(tpAniSirGlobal, tDot11fFfVhtUserPositionArray*, tANI_U8*);
+typedef struct sDot11fFfext_chan_switch_ann_action {
+ tANI_U32 switch_mode: 8;
+ tANI_U32 op_class: 8;
+ tANI_U32 new_channel: 8;
+ tANI_U32 switch_count: 8;
+} tDot11fFfext_chan_switch_ann_action;
+
+#define DOT11F_FF_EXT_CHAN_SWITCH_ANN_ACTION_LEN ( 4 )
+
+void dot11fUnpackFfext_chan_switch_ann_action(tpAniSirGlobal, tANI_U8*, tDot11fFfext_chan_switch_ann_action*);
+
+void dot11fPackFfext_chan_switch_ann_action(tpAniSirGlobal, tDot11fFfext_chan_switch_ann_action*, tANI_U8*);
+
+#define EXT_CHAN_SWITCH_ANN_ACTION_SWITCH_MODE_OFFSET 0
+#define EXT_CHAN_SWITCH_ANN_ACTION_SWITCH_MODE_WIDTH 8
+#define EXT_CHAN_SWITCH_ANN_ACTION_OP_CLASS_OFFSET 8
+#define EXT_CHAN_SWITCH_ANN_ACTION_OP_CLASS_WIDTH 8
+#define EXT_CHAN_SWITCH_ANN_ACTION_NEW_CHANNEL_OFFSET 16
+#define EXT_CHAN_SWITCH_ANN_ACTION_NEW_CHANNEL_WIDTH 8
+#define EXT_CHAN_SWITCH_ANN_ACTION_SWITCH_COUNT_OFFSET 24
+#define EXT_CHAN_SWITCH_ANN_ACTION_SWITCH_COUNT_WIDTH 8
+
/*********************************************************************
* TLVs *
********************************************************************/
@@ -7536,4 +7558,24 @@ tANI_U32 dot11fGetPackedWMMDelTSSize(tpAniSirGlobal pCtx, tDot11fWMMDelTS *pFrm,
} /* End extern "C". */
#endif /* C++ */
+typedef struct sDot11fext_channel_switch_action_frame{
+ tDot11fFfCategory Category;
+ tDot11fFfAction Action;
+ tDot11fFfext_chan_switch_ann_action ext_chan_switch_ann_action;
+} tDot11fext_channel_switch_action_frame;
+
+#define DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME ( 63 )
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+
+tANI_U32 dot11fUnpackext_channel_switch_action_frame(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fext_channel_switch_action_frame *pFrm);
+tANI_U32 dot11fPackext_channel_switch_action_frame(tpAniSirGlobal pCtx, tDot11fext_channel_switch_action_frame *pFrm, tANI_U8 *pBuf, tANI_U32 nBuf, tANI_U32 *pnConsumed);
+tANI_U32 dot11fGetPackedext_channel_switch_action_frameSize(tpAniSirGlobal pCtx, tDot11fext_channel_switch_action_frame *pFrm, tANI_U32 *pnNeeded);
+
+#ifdef __cplusplus
+} /* End extern "C". */
+#endif /* C++ */
+
#endif /* DOT11F_H */
diff --git a/CORE/MAC/src/pe/lim/limProcessActionFrame.c b/CORE/MAC/src/pe/lim/limProcessActionFrame.c
index 229e0aa31cba..58de7b927ed7 100644
--- a/CORE/MAC/src/pe/lim/limProcessActionFrame.c
+++ b/CORE/MAC/src/pe/lim/limProcessActionFrame.c
@@ -391,6 +391,110 @@ __limProcessChannelSwitchActionFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo
return;
} /*** end limProcessChannelSwitchActionFrame() ***/
+/**
+ * lim_process_ext_channel_switch_action_frame()- Process ECSA Action
+ * Frames.
+ * @mac_ctx: pointer to global mac structure
+ * @rx_packet_info: rx packet meta information
+ * @session_entry: Session entry.
+ *
+ * This function is called when ECSA action frame is received.
+ *
+ * Return: void
+ */
+static void
+lim_process_ext_channel_switch_action_frame(tpAniSirGlobal mac_ctx,
+ uint8_t *rx_packet_info, tpPESession session_entry)
+{
+
+ tpSirMacMgmtHdr hdr;
+ uint8_t *body;
+ tDot11fext_channel_switch_action_frame *ext_channel_switch_frame;
+ uint32_t frame_len;
+ uint32_t status;
+ uint8_t target_channel;
+
+ hdr = WDA_GET_RX_MAC_HEADER(rx_packet_info);
+ body = WDA_GET_RX_MPDU_DATA(rx_packet_info);
+ frame_len = WDA_GET_RX_PAYLOAD_LEN(rx_packet_info);
+
+ limLog(mac_ctx, LOG1, FL("Received EXT Channel switch action frame"));
+
+ ext_channel_switch_frame =
+ vos_mem_malloc(sizeof(*ext_channel_switch_frame));
+ if (NULL == ext_channel_switch_frame) {
+ limLog(mac_ctx, LOGE, FL("AllocateMemory failed"));
+ return;
+ }
+
+ /* Unpack channel switch frame */
+ status = dot11fUnpackext_channel_switch_action_frame(mac_ctx,
+ body, frame_len, ext_channel_switch_frame);
+
+ if (DOT11F_FAILED(status)) {
+
+ limLog( mac_ctx, LOGE,
+ FL( "Failed to parse CHANSW action frame (0x%08x, len %d):"),
+ status, frame_len);
+ vos_mem_free(ext_channel_switch_frame);
+ return;
+ } else if (DOT11F_WARNED(status)) {
+
+ limLog( mac_ctx, LOGW,
+ FL( "There were warnings while unpacking CHANSW Request (0x%08x, %d bytes):"),
+ status, frame_len);
+ }
+
+ target_channel =
+ ext_channel_switch_frame->ext_chan_switch_ann_action.new_channel;
+
+ /* Free ext_channel_switch_frame here as its no longer needed */
+ vos_mem_free(ext_channel_switch_frame);
+ /*
+ * Now, validate if channel change is required for the passed
+ * channel and if is valid in the current regulatory domain,
+ * and no concurrent session is running.
+ */
+ if (!((session_entry->currentOperChannel != target_channel) &&
+ ((vos_nv_getChannelEnabledState(target_channel)
+ == NV_CHANNEL_ENABLE) ||
+ (vos_nv_getChannelEnabledState(target_channel) == NV_CHANNEL_DFS &&
+ !vos_concurrent_open_sessions_running())))) {
+ limLog(mac_ctx, LOGE, FL(" Channel %d is not valid"),
+ target_channel);
+ return;
+ }
+
+ if (eLIM_AP_ROLE == session_entry->limSystemRole) {
+
+ struct sir_sme_ext_cng_chan_ind *ext_cng_chan_ind;
+ tSirMsgQ mmh_msg;
+
+ ext_cng_chan_ind = vos_mem_malloc(sizeof(*ext_cng_chan_ind));
+ if (NULL == ext_cng_chan_ind) {
+ limLog(mac_ctx, LOGP,
+ FL("AllocateMemory failed for ext_cng_chan_ind"));
+ return;
+ }
+
+ vos_mem_zero(ext_cng_chan_ind,
+ sizeof(*ext_cng_chan_ind));
+ ext_cng_chan_ind->session_id=
+ session_entry->smeSessionId;
+
+ /* No need to extract op mode as BW will be decided in
+ * in SAP FSM depending on previous BW.
+ */
+ ext_cng_chan_ind->new_channel = target_channel;
+
+ mmh_msg.type = eWNI_SME_EXT_CHANGE_CHANNEL_IND;
+ mmh_msg.bodyptr = ext_cng_chan_ind;
+ mmh_msg.bodyval = 0;
+ limSysProcessMmhMsgApi(mac_ctx, &mmh_msg, ePROT);
+ }
+ return;
+} /*** end lim_process_ext_channel_switch_action_frame() ***/
+
#ifdef WLAN_FEATURE_11AC
static void
@@ -2351,6 +2455,10 @@ limProcessActionFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo,tpPESession ps
break;
#endif
+ case SIR_MAC_ACTION_EXT_CHANNEL_SWITCH_ID:
+ lim_process_ext_channel_switch_action_frame(pMac,
+ pRxPacketInfo, psessionEntry);
+ break;
default:
PELOGE(limLog(pMac, LOGE, FL("Unhandled public action frame -- %x "), pActionHdr->actionID);)
break;
diff --git a/CORE/MAC/src/pe/lim/limProcessMessageQueue.c b/CORE/MAC/src/pe/lim/limProcessMessageQueue.c
index 829f4e1f8f68..37f7bd885f54 100644
--- a/CORE/MAC/src/pe/lim/limProcessMessageQueue.c
+++ b/CORE/MAC/src/pe/lim/limProcessMessageQueue.c
@@ -1419,6 +1419,7 @@ limProcessMessages(tpAniSirGlobal pMac, tpSirMsgQ limMsg)
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
case eWNI_SME_GET_TSM_STATS_REQ:
#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */
+ case eWNI_SME_EXT_CHANGE_CHANNEL:
// These messages are from HDD
limProcessNormalHddMsg(pMac, limMsg, false); //no need to response to hdd
break;
diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
index 19634c918a25..f0a1b4759aad 100644
--- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
@@ -57,6 +57,8 @@
#include "limApi.h"
#include "wmmApsd.h"
#include "sirMacProtDef.h"
+#include "regdomain_common.h"
+
#include "sapApi.h"
@@ -115,6 +117,9 @@ static void limProcessModifyAddIEs(tpAniSirGlobal pMac, tANI_U32 *pMsg);
static void limProcessUpdateAddIEs(tpAniSirGlobal pMac, tANI_U32 *pMsg);
+static void lim_process_ext_change_channel(tpAniSirGlobal mac_ctx,
+ uint32_t *msg);
+
void __limProcessSmeAssocCnfNew(tpAniSirGlobal, tANI_U32, tANI_U32 *);
extern void peRegisterTLHandle(tpAniSirGlobal pMac);
@@ -5891,7 +5896,9 @@ limProcessSmeReqMessages(tpAniSirGlobal pMac, tpSirMsgQ pMsg)
case eWNI_SME_TKIP_CNTR_MEAS_REQ:
limProcessTkipCounterMeasures(pMac, pMsgBuf);
break;
-
+ case eWNI_SME_EXT_CHANGE_CHANNEL:
+ lim_process_ext_change_channel(pMac, pMsgBuf);
+ break;
case eWNI_SME_HIDE_SSID_REQ:
__limProcessSmeHideSSID(pMac, pMsgBuf);
break;
@@ -6740,6 +6747,59 @@ limProcessUpdateAddIEs(tpAniSirGlobal pMac, tANI_U32 *pMsg)
}
/**
+ * send_extended_chan_switch_action_frame()- function to send ECSA
+ * action frame for each sta connected to SAP/GO and AP in case of
+ * STA .
+ * @mac_ctx: pointer to global mac structure
+ * @new_channel: new channel to switch to.
+ * @ch_bandwidth: BW of channel to calculate op_class
+ * @session_entry: pe session
+ *
+ * This function is called to send ECSA frame for STA/CLI and SAP/GO.
+ *
+ * Return: void
+ */
+
+static void send_extended_chan_switch_action_frame(tpAniSirGlobal mac_ctx,
+ uint16_t new_channel, uint8_t ch_bandwidth,
+ tpPESession session_entry)
+{
+ uint16_t op_class;
+ uint8_t switch_mode = 0, i;
+ tpDphHashNode psta;
+
+
+ op_class = regdm_get_opclass_from_channel(
+ mac_ctx->scan.countryCodeCurrent,
+ new_channel,
+ ch_bandwidth);
+
+ if (LIM_IS_AP_ROLE(session_entry) &&
+ (mac_ctx->sap.SapDfsInfo.disable_dfs_ch_switch == VOS_FALSE))
+ switch_mode = 1;
+
+ if (LIM_IS_AP_ROLE(session_entry)) {
+ for (i = 0; i < mac_ctx->lim.maxStation; i++) {
+ psta =
+ session_entry->dph.dphHashTable.pDphNodeArray + i;
+ if (psta && psta->added) {
+ lim_send_extended_chan_switch_action_frame(
+ mac_ctx,
+ psta->staAddr,
+ switch_mode, op_class, new_channel,
+ LIM_MAX_CSA_IE_UPDATES, session_entry);
+ }
+ }
+ } else if (LIM_IS_STA_ROLE(session_entry)) {
+ lim_send_extended_chan_switch_action_frame(mac_ctx,
+ session_entry->bssId,
+ switch_mode, op_class, new_channel,
+ LIM_MAX_CSA_IE_UPDATES, session_entry);
+ }
+
+}
+
+/**
* limProcessSmeDfsCsaIeRequest()
*
*FUNCTION:
@@ -6882,7 +6942,6 @@ limProcessSmeDfsCsaIeRequest(tpAniSirGlobal pMac, tANI_U32 *pMsg)
psessionEntry->gLimWiderBWChannelSwitch.newCenterChanFreq1 = 0;
}
#endif
-
/* Send CSA IE request from here */
if (schSetFixedBeaconFields(pMac, psessionEntry) != eSIR_SUCCESS)
{
@@ -6895,10 +6954,56 @@ limProcessSmeDfsCsaIeRequest(tpAniSirGlobal pMac, tANI_U32 *pMsg)
* the template update
*/
limSendBeaconInd(pMac, psessionEntry);
- PELOG1(limLog(pMac, LOG1,
+ limLog(pMac, LOG1,
FL(" Updated CSA IE, IE COUNT = %d"),
- psessionEntry->gLimChannelSwitch.switchCount );)
+ psessionEntry->gLimChannelSwitch.switchCount );
+ /* Send ECSA Action frame after updating the beacon */
+ send_extended_chan_switch_action_frame(pMac,
+ psessionEntry->gLimChannelSwitch.primaryChannel,
+ psessionEntry->gLimChannelSwitch.secondarySubBand,
+ psessionEntry);
psessionEntry->gLimChannelSwitch.switchCount--;
}
return;
}
+
+/**
+ * lim_process_ext_change_channel()- function to send ECSA
+ * action frame for STA/CLI .
+ * @mac_ctx: pointer to global mac structure
+ * @msg: params from sme for new channel.
+ *
+ * This function is called to send ECSA frame for STA/CLI.
+ *
+ * Return: void
+ */
+
+static void lim_process_ext_change_channel(tpAniSirGlobal mac_ctx,
+ uint32_t *msg)
+{
+ struct sir_sme_ext_cng_chan_req *ext_chng_channel =
+ (struct sir_sme_ext_cng_chan_req *) msg;
+ tpPESession session_entry = NULL;
+
+ if (mac_ctx == NULL) {
+ limLog(mac_ctx, LOGE, FL("Buffer is Pointing to NULL"));
+ return;
+ }
+ session_entry =
+ pe_find_session_by_sme_session_id(mac_ctx,
+ ext_chng_channel->session_id);
+ if (NULL == session_entry) {
+ limLog(mac_ctx, LOGE,
+ FL("Session not found for given session %d"),
+ ext_chng_channel->session_id);
+ return;
+ }
+ if (LIM_IS_AP_ROLE(session_entry)) {
+ limLog(mac_ctx, LOGE,
+ FL("not an STA/CLI session"));
+ return;
+ }
+ send_extended_chan_switch_action_frame(mac_ctx,
+ ext_chng_channel->new_channel,
+ 0, session_entry);
+}
diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
index 0c30336ec238..6794b6fef576 100644
--- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c
+++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
@@ -4381,6 +4381,150 @@ limSendChannelSwitchMgmtFrame(tpAniSirGlobal pMac,
} // End limSendChannelSwitchMgmtFrame.
+/**
+ * lim_send_extended_chan_switch_action_frame()- function to send ECSA
+ * action frame over the air .
+ * @mac_ctx: pointer to global mac structure
+ * @peer: Destination mac.
+ * @mode: channel switch mode
+ * @new_op_class: new op class
+ * @new_channel: new channel to switch
+ * @count: channel switch count
+ *
+ * This function is called to send ECSA frame.
+ *
+ * Return: success if frame is sent else return failure
+ */
+
+tSirRetStatus
+lim_send_extended_chan_switch_action_frame(tpAniSirGlobal mac_ctx,
+ tSirMacAddr peer, uint8_t mode, uint8_t new_op_class,
+ uint8_t new_channel, uint8_t count, tpPESession session_entry)
+{
+ tDot11fext_channel_switch_action_frame frm;
+ uint8_t *frame;
+ tSirRetStatus sir_status;
+ tpSirMacMgmtHdr mac_hdr;
+ uint32_t num_bytes,n_payload, status;
+ void *packet;
+ eHalStatus hal_status;
+ uint8_t txFlag = 0;
+ uint8_t sme_session_id = 0;
+
+ if (session_entry == NULL) {
+ limLog(mac_ctx, LOGE, FL("Session entry is NULL!!!"));
+ return eSIR_FAILURE;
+ }
+
+ sme_session_id = session_entry->smeSessionId;
+
+ vos_mem_set(&frm, sizeof(frm), 0);
+
+ frm.Category.category = SIR_MAC_ACTION_PUBLIC_USAGE;
+ frm.Action.action = SIR_MAC_ACTION_EXT_CHANNEL_SWITCH_ID;
+
+ frm.ext_chan_switch_ann_action.switch_mode = mode;
+ frm.ext_chan_switch_ann_action.op_class = new_op_class;
+ frm.ext_chan_switch_ann_action.new_channel = new_channel;
+ frm.ext_chan_switch_ann_action.switch_count = count;
+
+
+ status = dot11fGetPackedext_channel_switch_action_frameSize(mac_ctx,
+ &frm, &n_payload);
+ if (DOT11F_FAILED(status)) {
+ limLog(mac_ctx, LOGP,
+ FL("Failed to get packed size for Channel Switch 0x%08x."),
+ status);
+ /* We'll fall back on the worst case scenario*/
+ n_payload = sizeof(tDot11fext_channel_switch_action_frame);
+ }
+ else if (DOT11F_WARNED(status)) {
+ limLog(mac_ctx, LOGW,
+ FL("There were warnings while calculating the packed size for a Ext Channel Switch (0x%08x)."),
+ status);
+ }
+
+ num_bytes = n_payload + sizeof(tSirMacMgmtHdr);
+
+ hal_status = palPktAlloc(mac_ctx->hHdd, HAL_TXRX_FRM_802_11_MGMT,
+ (uint16_t)num_bytes, (void**) &frame, (void**) &packet);
+
+ if (!HAL_STATUS_SUCCESS(hal_status)) {
+ limLog(mac_ctx, LOGP,
+ FL("Failed to allocate %d bytes for a Ext Channel Switch."),
+ num_bytes);
+ return eSIR_FAILURE;
+ }
+
+ /* Paranoia*/
+ vos_mem_set(frame, num_bytes, 0);
+
+ /* Next, we fill out the buffer descriptor */
+ sir_status = limPopulateMacHeader(mac_ctx, frame, SIR_MAC_MGMT_FRAME,
+ SIR_MAC_MGMT_ACTION, peer, session_entry->selfMacAddr);
+ mac_hdr = (tpSirMacMgmtHdr) frame;
+ vos_mem_copy((uint8_t *) mac_hdr->bssId,
+ (uint8_t *) session_entry->bssId,
+ sizeof(tSirMacAddr));
+ if (eSIR_SUCCESS != sir_status) {
+ limLog(mac_ctx, LOGE,
+ FL("Failed to populate the buffer descriptor for a Ext Channel Switch %d."),
+ sir_status);
+ palPktFree(mac_ctx->hHdd, HAL_TXRX_FRM_802_11_MGMT,
+ (void*) frame, (void*) packet);
+ return eSIR_FAILURE;
+ }
+
+ status = dot11fPackext_channel_switch_action_frame( mac_ctx, &frm,
+ frame + sizeof(tSirMacMgmtHdr), n_payload, &n_payload);
+ if (DOT11F_FAILED(status)) {
+ limLog(mac_ctx, LOGE,
+ FL("Failed to pack a Channel Switch 0x%08x."),
+ status);
+ palPktFree(mac_ctx->hHdd, HAL_TXRX_FRM_802_11_MGMT,
+ (void*) frame, (void*) packet);
+ return eSIR_FAILURE;
+ } else if (DOT11F_WARNED(status)) {
+ limLog(mac_ctx, LOGW,
+ FL("There were warnings while packing a Channel Switch 0x%08x."),
+ status);
+ }
+
+ if ((SIR_BAND_5_GHZ == limGetRFBand(session_entry->currentOperChannel))
+ || (session_entry->pePersona == VOS_P2P_CLIENT_MODE) ||
+ (session_entry->pePersona == VOS_P2P_GO_MODE)) {
+
+ txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME;
+ }
+
+ limLog(mac_ctx, LOG1,
+ FL("Send Ext channel Switch to :"MAC_ADDRESS_STR" with swcount %d, swmode %d , newchannel %d newops %d"),
+ MAC_ADDR_ARRAY(mac_hdr->da),
+ frm.ext_chan_switch_ann_action.switch_count,
+ frm.ext_chan_switch_ann_action.switch_mode,
+ frm.ext_chan_switch_ann_action.new_channel,
+ frm.ext_chan_switch_ann_action.op_class);
+
+ MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT,
+ session_entry->peSessionId, mac_hdr->fc.subType));
+ hal_status = halTxFrame(mac_ctx, packet, (uint16_t) num_bytes,
+ HAL_TXRX_FRM_802_11_MGMT,
+ ANI_TXDIR_TODS,
+ 7,
+ limTxComplete, frame,
+ txFlag, sme_session_id);
+ MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE,
+ session_entry->peSessionId, hal_status));
+ if (!HAL_STATUS_SUCCESS(hal_status)) {
+ limLog(mac_ctx, LOGE,
+ FL("Failed to send a Ext Channel Switch %X!"),
+ sir_status);
+ /* Pkt will be freed up by the callback */
+ return eSIR_FAILURE;
+ }
+
+ return eSIR_SUCCESS;
+}/* End lim_send_extended_chan_switch_action_frame */
#ifdef WLAN_FEATURE_11AC
diff --git a/CORE/MAC/src/pe/lim/limTypes.h b/CORE/MAC/src/pe/lim/limTypes.h
index da31611d1b89..de4eb9252f64 100644
--- a/CORE/MAC/src/pe/lim/limTypes.h
+++ b/CORE/MAC/src/pe/lim/limTypes.h
@@ -686,6 +686,9 @@ void limContinueChannelScan(tpAniSirGlobal);
tSirResultCodes limMlmAddBss(tpAniSirGlobal, tLimMlmStartReq *,tpPESession psessionEntry);
tSirRetStatus limSendChannelSwitchMgmtFrame(tpAniSirGlobal, tSirMacAddr, tANI_U8, tANI_U8, tANI_U8, tpPESession);
+tSirRetStatus lim_send_extended_chan_switch_action_frame(tpAniSirGlobal mac_ctx,
+ tSirMacAddr peer, uint8_t mode, uint8_t new_op_class,
+ uint8_t new_channel, uint8_t count, tpPESession session_entry);
#ifdef WLAN_FEATURE_11AC
tSirRetStatus limSendVHTOpmodeNotificationFrame(tpAniSirGlobal pMac,tSirMacAddr peer,tANI_U8 nMode, tpPESession psessionEntry );
diff --git a/CORE/MAC/src/pe/sch/schBeaconGen.c b/CORE/MAC/src/pe/sch/schBeaconGen.c
index f75dc9b071e6..9dac92550e6c 100644
--- a/CORE/MAC/src/pe/sch/schBeaconGen.c
+++ b/CORE/MAC/src/pe/sch/schBeaconGen.c
@@ -606,6 +606,15 @@ void limUpdateProbeRspTemplateIeBitmapBeacon2(tpAniSirGlobal pMac,
}
+ /* EXT Channel Switch Announcement CHNL_EXTENDED_SWITCH_ANN_EID*/
+ if (beacon2->ext_chan_switch_ann.present)
+ {
+ SetProbeRspIeBitmap(DefProbeRspIeBitmap,
+ SIR_MAC_CHNL_EXTENDED_SWITCH_ANN_EID);
+ vos_mem_copy((void *)&prb_rsp->ext_chan_switch_ann,
+ (void *)&beacon2->ext_chan_switch_ann,
+ sizeof(beacon2->ext_chan_switch_ann));
+ }
/* Supported operating class */
if(beacon2->SuppOperatingClasses.present)
{
diff --git a/CORE/SAP/inc/sapApi.h b/CORE/SAP/inc/sapApi.h
index e9d71934385d..751597fc73cd 100644
--- a/CORE/SAP/inc/sapApi.h
+++ b/CORE/SAP/inc/sapApi.h
@@ -192,6 +192,7 @@ typedef enum {
eSAP_ACS_SCAN_SUCCESS_EVENT,
#endif
eSAP_ACS_CHANNEL_SELECTED,
+ eSAP_ECSA_CHANGE_CHAN_IND,
} eSapHddEvent;
typedef enum {
@@ -384,6 +385,15 @@ typedef struct sap_ChSelected_s {
uint16_t ch_width;
} tSap_ChSelectedEvent;
+/**
+ * struct sap_ch_change_ind - channel change indication
+ * @new_chan: channel to change
+ */
+struct sap_ch_change_ind {
+ uint16_t new_chan;
+};
+
+
/*
This struct will be filled in and passed to tpWLAN_SAPEventCB that is provided during WLANSAP_StartBss call
The event id corresponding to structure in the union is defined in comment next to the structure
@@ -410,6 +420,7 @@ typedef struct sap_Event_s {
tSap_DfsNolInfo sapDfsNolInfo; /*eSAP_DFS_NOL_XXX */
/*eSAP_ACS_CHANNEL_SELECTED */
tSap_ChSelectedEvent sapChSelected;
+ struct sap_ch_change_ind sap_chan_cng_ind;
} sapevt;
} tSap_Event, *tpSap_Event;
diff --git a/CORE/SAP/src/sapApiLinkCntl.c b/CORE/SAP/src/sapApiLinkCntl.c
index 6ca4e7bdd4df..0f8570b36d3c 100644
--- a/CORE/SAP/src/sapApiLinkCntl.c
+++ b/CORE/SAP/src/sapApiLinkCntl.c
@@ -767,7 +767,10 @@ WLANSAP_RoamCallback
VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_INFO_HIGH,
"In %s, Received set channel response", __func__);
break;
-
+ case eCSR_ROAM_EXT_CHG_CHNL_IND:
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_INFO_HIGH,
+ "In %s, Received set channel Indication", __func__);
+ break;
default:
VOS_TRACE( VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR, "In %s, CSR roamStatus not handled roamStatus = %s (%d)\n",
__func__, get_eRoamCmdStatus_str(roamStatus), roamStatus);
@@ -1333,8 +1336,16 @@ WLANSAP_RoamCallback
/* Inform cfg80211 and hostapd that BSS is not alive anymore */
}
- break;
-
+ case eCSR_ROAM_EXT_CHG_CHNL_UPDATE_IND:
+ {
+ vosStatus = sapSignalHDDevent(sapContext, pCsrRoamInfo,
+ eSAP_ECSA_CHANGE_CHAN_IND, (v_PVOID_t)NULL);
+ if (!VOS_IS_STATUS_SUCCESS(vosStatus))
+ {
+ halStatus = eHAL_STATUS_FAILURE;
+ }
+ break;
+ }
default:
VOS_TRACE( VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR, "In %s, CSR roamResult = %s (%d) not handled\n",
__func__,get_eCsrRoamResult_str(roamResult),roamResult);
diff --git a/CORE/SAP/src/sapFsm.c b/CORE/SAP/src/sapFsm.c
index ec2138f9a37f..c2506e1fae71 100644
--- a/CORE/SAP/src/sapFsm.c
+++ b/CORE/SAP/src/sapFsm.c
@@ -2976,7 +2976,14 @@ sapSignalHDDevent
sapApAppEvent.sapevt.sapDfsNolInfo.pDfsList =
(v_PVOID_t)(&pMac->sap.SapDfsInfo.sapDfsChannelNolList[0]);
break;
-
+ case eSAP_ECSA_CHANGE_CHAN_IND:
+ VOS_TRACE( VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_INFO_HIGH,
+ "In %s, SAP event callback event = %s",
+ __func__, "eSAP_ECSA_CHANGE_CHAN_IND");
+ sapApAppEvent.sapHddEventCode = eSAP_ECSA_CHANGE_CHAN_IND;
+ sapApAppEvent.sapevt.sap_chan_cng_ind.new_chan =
+ pCsrRoamInfo->target_channel;
+ break;
default:
VOS_TRACE( VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR, "In %s, SAP Unknown callback event = %d",
__func__,sapHddevent);
diff --git a/CORE/SAP/src/sapModule.c b/CORE/SAP/src/sapModule.c
index d746f6a811db..e1fe4b3dfe99 100644
--- a/CORE/SAP/src/sapModule.c
+++ b/CORE/SAP/src/sapModule.c
@@ -2805,7 +2805,7 @@ VOS_STATUS WLANSAP_DeRegisterMgmtFrame
SIDE EFFECTS
============================================================================*/
VOS_STATUS
-WLANSAP_ChannelChangeRequest(v_PVOID_t pSapCtx, tANI_U8 tArgetChannel)
+WLANSAP_ChannelChangeRequest(v_PVOID_t pSapCtx, uint8_t target_channel)
{
ptSapContext sapContext = NULL;
eHalStatus halStatus = eHAL_STATUS_FAILURE;
@@ -2832,7 +2832,7 @@ WLANSAP_ChannelChangeRequest(v_PVOID_t pSapCtx, tANI_U8 tArgetChannel)
}
pMac = PMAC_STRUCT( hHal );
phyMode = sapContext->csrRoamProfile.phyMode;
- sapContext->csrRoamProfile.ChannelInfo.ChannelList[0] = tArgetChannel;
+ sapContext->csrRoamProfile.ChannelInfo.ChannelList[0] = target_channel;
/*
* We are getting channel bonding mode from sapDfsInfor structure
* because we've implemented channel width fallback mechanism for DFS
@@ -2840,10 +2840,14 @@ WLANSAP_ChannelChangeRequest(v_PVOID_t pSapCtx, tANI_U8 tArgetChannel)
*/
cbMode = pMac->sap.SapDfsInfo.new_cbMode;
vhtChannelWidth = pMac->sap.SapDfsInfo.new_chanWidth;
- sme_SelectCBMode(hHal, phyMode, tArgetChannel, 0, &vhtChannelWidth,
+ sme_SelectCBMode(hHal, phyMode, target_channel, 0, &vhtChannelWidth,
pMac->sap.SapDfsInfo.new_chanWidth);
sapContext->csrRoamProfile.vht_channel_width = vhtChannelWidth;
sapContext->vht_channel_width = vhtChannelWidth;
+ /* Update the channel as this will be used to
+ * send event to supplicant
+ */
+ sapContext->channel = target_channel;
halStatus = sme_RoamChannelChangeReq(hHal, sapContext->bssid,
cbMode, &sapContext->csrRoamProfile);
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index d7f30708aef6..d7f8a5d402dd 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -527,6 +527,7 @@ typedef enum
// Channel sw update notification
eCSR_ROAM_DFS_CHAN_SW_NOTIFY,
+ eCSR_ROAM_EXT_CHG_CHNL_IND,
}eRoamCmdStatus;
@@ -624,6 +625,7 @@ typedef enum
eCSR_ROAM_RESULT_CHANNEL_CHANGE_FAILURE,
eCSR_ROAM_RESULT_DFS_CHANSW_UPDATE_SUCCESS,
eCSR_ROAM_RESULT_DFS_CHANSW_UPDATE_FAILURE,
+ eCSR_ROAM_EXT_CHG_CHNL_UPDATE_IND,
}eCsrRoamResult;
@@ -1384,6 +1386,7 @@ typedef struct tagCsrRoamInfo
tANI_U8 replay_ctr[SIR_REPLAY_CTR_LEN];
#endif
tSirSmeChanInfo chan_info;
+ uint8_t target_channel;
}tCsrRoamInfo;
diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h
index fba7ce16fd02..f33ae492eca7 100644
--- a/CORE/SME/inc/sme_Api.h
+++ b/CORE/SME/inc/sme_Api.h
@@ -4211,6 +4211,8 @@ eHalStatus sme_SetLedFlashing (tHalHandle hHal, tANI_U8 type,
\return eHalStatus
-------------------------------------------------------------------------*/
eHalStatus sme_handle_dfs_chan_scan(tHalHandle hHal, tANI_U8 dfs_flag);
+eHalStatus sme_ext_change_channel(tHalHandle hHal, uint32_t channel,
+ uint8_t session_id);
#ifdef MDNS_OFFLOAD
/* ---------------------------------------------------------------------------
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index bb517e64d1e6..f059aa3cca22 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -18904,6 +18904,38 @@ csrRoamUpdateAddIEs(tpAniSirGlobal pMac,
return status;
}
+/**
+ * csr_send_ext_change_channel()- function to post send ECSA
+ * action frame to lim.
+ * @mac_ctx: pointer to global mac structure
+ * @channel: new channel to switch
+ * @session_id: senssion it should be sent on.
+ *
+ * This function is called to post ECSA frame to lim.
+ *
+ * Return: success if msg posted to LIM else return failure
+ */
+eHalStatus csr_send_ext_change_channel(tpAniSirGlobal mac_ctx, uint32_t channel,
+ uint8_t session_id)
+{
+ eHalStatus status = eHAL_STATUS_SUCCESS;
+ struct sir_sme_ext_cng_chan_req *msg;
+
+ msg = vos_mem_malloc(sizeof(*msg));
+ if (NULL == msg)
+ return eHAL_STATUS_FAILURE;
+
+ vos_mem_zero(msg, sizeof(*msg));
+ msg->message_type =
+ pal_cpu_to_be16((uint16_t)eWNI_SME_EXT_CHANGE_CHANNEL);
+ msg->length =
+ pal_cpu_to_be16((uint16_t)sizeof(*msg));
+ msg->new_channel = channel;
+ msg->session_id = session_id;
+ status = palSendMBMessage(mac_ctx->hHdd, msg);
+ return status;
+}
+
/*----------------------------------------------------------------------------
\fn csrRoamSendChanSwIERequest
diff --git a/CORE/SME/src/csr/csrInsideApi.h b/CORE/SME/src/csr/csrInsideApi.h
index 3843966cf47d..a1e82e2d0501 100644
--- a/CORE/SME/src/csr/csrInsideApi.h
+++ b/CORE/SME/src/csr/csrInsideApi.h
@@ -1056,6 +1056,8 @@ void csrAddVoteForCountryInfo(tpAniSirGlobal pMac, tANI_U8 *pCountryCode);
void csrClearVotesForCountryInfo(tpAniSirGlobal pMac);
#endif
+eHalStatus csr_send_ext_change_channel(tpAniSirGlobal mac_ctx,
+ uint32_t channel, uint8_t session_id);
#ifdef QCA_HT_2040_COEX
eHalStatus csrSetHT2040Mode(tpAniSirGlobal pMac, tANI_U32 sessionId,
diff --git a/CORE/SME/src/csr/csrUtil.c b/CORE/SME/src/csr/csrUtil.c
index a1627bf0d6bc..b0668b3357c6 100644
--- a/CORE/SME/src/csr/csrUtil.c
+++ b/CORE/SME/src/csr/csrUtil.c
@@ -145,7 +145,7 @@ static tCsrIELenInfo gCsrIELengthTable[] = {
/* 057 */ { 0, 255 },
/* 058 */ { 0, 255 },
/* 059 */ { SIR_MAC_OPERATING_CLASS_EID_MIN, SIR_MAC_OPERATING_CLASS_EID_MAX },
-/* 060 */ { 0, 255 },
+/* 060 */ { SIR_MAC_CHNL_EXTENDED_SWITCH_ANN_EID_MIN, SIR_MAC_CHNL_EXTENDED_SWITCH_ANN_EID_MAX},
/* 061 */ { 0, 255 },
/* 062 */ { 0, 255 },
/* 063 */ { 0, 255 },
diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c
index 7a105f25ca96..e5863e2a9e69 100644
--- a/CORE/SME/src/sme_common/sme_Api.c
+++ b/CORE/SME/src/sme_common/sme_Api.c
@@ -2265,6 +2265,48 @@ eHalStatus dfsMsgProcessor(tpAniSirGlobal pMac, v_U16_t msgType, void *pMsgBuf)
return status;
}
+/**
+ * sme_extended_change_channel_ind()- function to indicate ECSA
+ * action frame is received in lim to SAP
+ * @mac_ctx: pointer to global mac structure
+ * @msg_buf: contain new channel and session id.
+ *
+ * This function is called to post ECSA action frame
+ * receive event to SAP.
+ *
+ * Return: success if msg indicated to SAP else return failure
+ */
+static eHalStatus sme_extended_change_channel_ind(tpAniSirGlobal mac_ctx,
+ void *msg_buf)
+{
+ struct sir_sme_ext_cng_chan_ind *ext_chan_ind;
+ eHalStatus status = eHAL_STATUS_SUCCESS;
+ uint32_t session_id = 0;
+ tCsrRoamInfo roamInfo = {0};
+ eRoamCmdStatus roamStatus;
+ eCsrRoamResult roamResult;
+
+
+ ext_chan_ind = msg_buf;
+ if (NULL == ext_chan_ind) {
+ smsLog(mac_ctx, LOGE,
+ FL("pMsg is NULL for eWNI_SME_EXT_CHANGE_CHANNEL_IND"));
+ return eHAL_STATUS_FAILURE;
+ }
+ session_id = ext_chan_ind->session_id;
+ roamInfo.target_channel = ext_chan_ind->new_channel;
+ roamStatus = eCSR_ROAM_EXT_CHG_CHNL_IND;
+ roamResult = eCSR_ROAM_EXT_CHG_CHNL_UPDATE_IND;
+ smsLog(mac_ctx, LOG1,
+ FL("sapdfs: Received eWNI_SME_EXT_CHANGE_CHANNEL_IND for session id [%d]"),
+ session_id);
+
+ /* Indicate Ext Channel Change event to SAP */
+ csrRoamCallCallback(mac_ctx, session_id, &roamInfo, 0,
+ roamStatus, roamResult);
+ return status;
+}
+
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
/*------------------------------------------------------------------
*
@@ -2864,7 +2906,10 @@ eHalStatus sme_ProcessMsg(tHalHandle hHal, vos_msg_t* pMsg)
vos_mem_free( pMsg->bodyptr );
}
break;
-
+ case eWNI_SME_EXT_CHANGE_CHANNEL_IND:
+ status = sme_extended_change_channel_ind(pMac, pMsg->bodyptr);
+ vos_mem_free(pMsg->bodyptr);
+ break;
case eWNI_SME_CHANNEL_CHANGE_RSP:
if (pMsg->bodyptr)
{
@@ -9634,7 +9679,44 @@ eHalStatus sme_UpdateRoamScanHomeAwayTime(tHalHandle hHal,
return status;
}
+/**
+ * sme_ext_change_channel()- function to post send ECSA
+ * action frame to csr.
+ * @hHal: Hal context
+ * @channel: new channel to switch
+ * @session_id: senssion it should be sent on.
+ *
+ * This function is called to post ECSA frame to csr.
+ *
+ * Return: success if msg is sent else return failure
+ */
+eHalStatus sme_ext_change_channel(tHalHandle hHal, uint32_t channel,
+ uint8_t session_id)
+{
+ eHalStatus status = eHAL_STATUS_SUCCESS;
+ tpAniSirGlobal mac_ctx = PMAC_STRUCT(hHal);
+ uint8_t channel_state;
+
+ smsLog(mac_ctx, LOGE, FL(" Set Channel %d "), channel);
+ channel_state =
+ vos_nv_getChannelEnabledState(channel);
+
+ if ((NV_CHANNEL_DISABLE == channel_state)) {
+ smsLog(mac_ctx, LOGE, FL(" Invalid channel %d "), channel);
+ return eHAL_STATUS_FAILURE;
+ }
+
+ status = sme_AcquireGlobalLock(&mac_ctx->sme);
+ if (eHAL_STATUS_SUCCESS == status) {
+ /* update the channel list to the firmware */
+ status = csr_send_ext_change_channel(mac_ctx,
+ channel, session_id);
+ sme_ReleaseGlobalLock(&mac_ctx->sme);
+ }
+
+ return status;
+}
/* ---------------------------------------------------------------------------
\fn sme_getRoamIntraBand
\brief get Intra band roaming
diff --git a/CORE/SYS/legacy/src/utils/src/dot11f.c b/CORE/SYS/legacy/src/utils/src/dot11f.c
index bf5187055656..763b80690039 100644
--- a/CORE/SYS/legacy/src/utils/src/dot11f.c
+++ b/CORE/SYS/legacy/src/utils/src/dot11f.c
@@ -35,7 +35,7 @@
*
*
* This file was automatically generated by 'framesc'
- * Thu Apr 30 13:39:44 2015 from the following file(s):
+ * Tue Sep 1 12:21:44 2015 from the following file(s):
*
* dot11f.frms
*
@@ -984,6 +984,21 @@ void dot11fUnpackFfVhtUserPositionArray(tpAniSirGlobal pCtx,
#define SigFfVhtUserPositionArray ( 0x0024 )
+void dot11fUnpackFfext_chan_switch_ann_action(tpAniSirGlobal pCtx,
+ tANI_U8 *pBuf,
+ tDot11fFfext_chan_switch_ann_action *pDst)
+{
+ tANI_U32 tmp7__;
+ framesntohl(pCtx, &tmp7__, pBuf, 0);
+ pDst->switch_mode = tmp7__ >> 0 & 0xff;
+ pDst->op_class = tmp7__ >> 8 & 0xff;
+ pDst->new_channel = tmp7__ >> 16 & 0xff;
+ pDst->switch_count = tmp7__ >> 24 & 0xff;
+ (void)pCtx;
+} /* End dot11fUnpackFfext_chan_switch_ann_action. */
+
+#define SigFfext_chan_switch_ann_action ( 0x0025 )
+
tANI_U32 dot11fUnpackTlvAuthorizedMACs(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U16 tlvlen, tDot11fTLVAuthorizedMACs *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
@@ -1004,13 +1019,13 @@ tANI_U32 dot11fUnpackTlvAuthorizedMACs(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_
tANI_U32 dot11fUnpackTlvVersion2(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U16 tlvlen, tDot11fTLVVersion2 *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 dot11fUnpackTlvVersion2. */
@@ -1510,13 +1525,13 @@ tANI_U32 dot11fUnpackTlvVendorExtension(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI
tANI_U32 dot11fUnpackTlvVersion(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U16 tlvlen, tDot11fTLVVersion *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp8__;
+ tANI_U8 tmp9__;
pDst->present = 1;
- tmp8__ = *pBuf;
+ tmp9__ = *pBuf;
pBuf += 1;
tlvlen -= 1;
- pDst->minor = tmp8__ >> 0 & 0xf;
- pDst->major = tmp8__ >> 4 & 0xf;
+ pDst->minor = tmp9__ >> 0 & 0xf;
+ pDst->major = tmp9__ >> 4 & 0xf;
(void)pCtx;
return status;
} /* End dot11fUnpackTlvVersion. */
@@ -1561,15 +1576,15 @@ tANI_U32 dot11fUnpackIeCondensedCountryStr(tpAniSirGlobal pCtx, tANI_U8 *pBuf, t
tANI_U32 dot11fUnpackIeGTK(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEGTK *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U16 tmp9__;
+ tANI_U16 tmp10__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohs(pCtx, &tmp9__, pBuf, 0);
+ framesntohs(pCtx, &tmp10__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->keyId = tmp9__ >> 0 & 0x3;
- pDst->reserved = tmp9__ >> 2 & 0x3feb;
+ pDst->keyId = tmp10__ >> 0 & 0x3;
+ pDst->reserved = tmp10__ >> 2 & 0x3feb;
pDst->keyLength = *pBuf;
pBuf += 1;
ielen -= (tANI_U8)1;
@@ -1815,56 +1830,56 @@ tANI_U32 dot11fUnpackIeRICDescriptor(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8
tANI_U32 dot11fUnpackIeRRMEnabledCap(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIERRMEnabledCap *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp10__;
tANI_U8 tmp11__;
tANI_U8 tmp12__;
tANI_U8 tmp13__;
tANI_U8 tmp14__;
+ tANI_U8 tmp15__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp10__ = *pBuf;
- pBuf += 1;
- ielen -= 1;
- pDst->LinkMeasurement = tmp10__ >> 0 & 0x1;
- pDst->NeighborRpt = tmp10__ >> 1 & 0x1;
- pDst->parallel = tmp10__ >> 2 & 0x1;
- pDst->repeated = tmp10__ >> 3 & 0x1;
- pDst->BeaconPassive = tmp10__ >> 4 & 0x1;
- pDst->BeaconActive = tmp10__ >> 5 & 0x1;
- pDst->BeaconTable = tmp10__ >> 6 & 0x1;
- pDst->BeaconRepCond = tmp10__ >> 7 & 0x1;
tmp11__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->FrameMeasurement = tmp11__ >> 0 & 0x1;
- pDst->ChannelLoad = tmp11__ >> 1 & 0x1;
- pDst->NoiseHistogram = tmp11__ >> 2 & 0x1;
- pDst->statistics = tmp11__ >> 3 & 0x1;
- pDst->LCIMeasurement = tmp11__ >> 4 & 0x1;
- pDst->LCIAzimuth = tmp11__ >> 5 & 0x1;
- pDst->TCMCapability = tmp11__ >> 6 & 0x1;
- pDst->triggeredTCM = tmp11__ >> 7 & 0x1;
+ pDst->LinkMeasurement = tmp11__ >> 0 & 0x1;
+ pDst->NeighborRpt = tmp11__ >> 1 & 0x1;
+ pDst->parallel = tmp11__ >> 2 & 0x1;
+ pDst->repeated = tmp11__ >> 3 & 0x1;
+ pDst->BeaconPassive = tmp11__ >> 4 & 0x1;
+ pDst->BeaconActive = tmp11__ >> 5 & 0x1;
+ pDst->BeaconTable = tmp11__ >> 6 & 0x1;
+ pDst->BeaconRepCond = tmp11__ >> 7 & 0x1;
tmp12__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->APChanReport = tmp12__ >> 0 & 0x1;
- pDst->RRMMIBEnabled = tmp12__ >> 1 & 0x1;
- pDst->operatingChanMax = tmp12__ >> 2 & 0x7;
- pDst->nonOperatinChanMax = tmp12__ >> 5 & 0x7;
+ pDst->FrameMeasurement = tmp12__ >> 0 & 0x1;
+ pDst->ChannelLoad = tmp12__ >> 1 & 0x1;
+ pDst->NoiseHistogram = tmp12__ >> 2 & 0x1;
+ pDst->statistics = tmp12__ >> 3 & 0x1;
+ pDst->LCIMeasurement = tmp12__ >> 4 & 0x1;
+ pDst->LCIAzimuth = tmp12__ >> 5 & 0x1;
+ pDst->TCMCapability = tmp12__ >> 6 & 0x1;
+ pDst->triggeredTCM = tmp12__ >> 7 & 0x1;
tmp13__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->MeasurementPilot = tmp13__ >> 0 & 0x7;
- pDst->MeasurementPilotEnabled = tmp13__ >> 3 & 0x1;
- pDst->NeighborTSFOffset = tmp13__ >> 4 & 0x1;
- pDst->RCPIMeasurement = tmp13__ >> 5 & 0x1;
- pDst->RSNIMeasurement = tmp13__ >> 6 & 0x1;
- pDst->BssAvgAccessDelay = tmp13__ >> 7 & 0x1;
+ pDst->APChanReport = tmp13__ >> 0 & 0x1;
+ pDst->RRMMIBEnabled = tmp13__ >> 1 & 0x1;
+ pDst->operatingChanMax = tmp13__ >> 2 & 0x7;
+ pDst->nonOperatinChanMax = tmp13__ >> 5 & 0x7;
tmp14__ = *pBuf;
- pDst->BSSAvailAdmission = tmp14__ >> 0 & 0x1;
- pDst->AntennaInformation = tmp14__ >> 1 & 0x1;
- pDst->reserved = tmp14__ >> 2 & 0x3f;
+ pBuf += 1;
+ ielen -= 1;
+ pDst->MeasurementPilot = tmp14__ >> 0 & 0x7;
+ pDst->MeasurementPilotEnabled = tmp14__ >> 3 & 0x1;
+ pDst->NeighborTSFOffset = tmp14__ >> 4 & 0x1;
+ pDst->RCPIMeasurement = tmp14__ >> 5 & 0x1;
+ pDst->RSNIMeasurement = tmp14__ >> 6 & 0x1;
+ pDst->BssAvgAccessDelay = tmp14__ >> 7 & 0x1;
+ tmp15__ = *pBuf;
+ pDst->BSSAvailAdmission = tmp15__ >> 0 & 0x1;
+ pDst->AntennaInformation = tmp15__ >> 1 & 0x1;
+ pDst->reserved = tmp15__ >> 2 & 0x3f;
(void)pCtx;
return status;
} /* End dot11fUnpackIeRRMEnabledCap. */
@@ -1914,17 +1929,17 @@ tANI_U32 dot11fUnpackIeSSID(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, t
tANI_U32 dot11fUnpackIeSchedule(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIESchedule *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U16 tmp15__;
+ tANI_U16 tmp16__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohs(pCtx, &tmp15__, pBuf, 0);
+ framesntohs(pCtx, &tmp16__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->aggregation = tmp15__ >> 0 & 0x1;
- pDst->tsid = tmp15__ >> 1 & 0xf;
- pDst->direction = tmp15__ >> 5 & 0x3;
- pDst->reserved = tmp15__ >> 7 & 0x1ff;
+ pDst->aggregation = tmp16__ >> 0 & 0x1;
+ pDst->tsid = tmp16__ >> 1 & 0xf;
+ pDst->direction = tmp16__ >> 5 & 0x3;
+ pDst->reserved = tmp16__ >> 7 & 0x1ff;
framesntohl(pCtx, &pDst->service_start_time, pBuf, 0);
pBuf += 4;
ielen -= (tANI_U8)4;
@@ -2051,33 +2066,33 @@ tANI_U32 dot11fUnpackIeTSDelay(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen
tANI_U32 dot11fUnpackIeTSPEC(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIETSPEC *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U16 tmp16__;
- tANI_U8 tmp17__;
- tANI_U16 tmp18__;
+ tANI_U16 tmp17__;
+ tANI_U8 tmp18__;
+ tANI_U16 tmp19__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohs(pCtx, &tmp16__, pBuf, 0);
+ framesntohs(pCtx, &tmp17__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->traffic_type = tmp16__ >> 0 & 0x1;
- pDst->tsid = tmp16__ >> 1 & 0xf;
- pDst->direction = tmp16__ >> 5 & 0x3;
- pDst->access_policy = tmp16__ >> 7 & 0x3;
- pDst->aggregation = tmp16__ >> 9 & 0x1;
- pDst->psb = tmp16__ >> 10 & 0x1;
- pDst->user_priority = tmp16__ >> 11 & 0x7;
- pDst->tsinfo_ack_pol = tmp16__ >> 14 & 0x3;
- tmp17__ = *pBuf;
+ pDst->traffic_type = tmp17__ >> 0 & 0x1;
+ pDst->tsid = tmp17__ >> 1 & 0xf;
+ pDst->direction = tmp17__ >> 5 & 0x3;
+ pDst->access_policy = tmp17__ >> 7 & 0x3;
+ pDst->aggregation = tmp17__ >> 9 & 0x1;
+ pDst->psb = tmp17__ >> 10 & 0x1;
+ pDst->user_priority = tmp17__ >> 11 & 0x7;
+ pDst->tsinfo_ack_pol = tmp17__ >> 14 & 0x3;
+ tmp18__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->schedule = tmp17__ >> 0 & 0x1;
- pDst->unused = tmp17__ >> 1 & 0x7f;
- framesntohs(pCtx, &tmp18__, pBuf, 0);
+ pDst->schedule = tmp18__ >> 0 & 0x1;
+ pDst->unused = tmp18__ >> 1 & 0x7f;
+ framesntohs(pCtx, &tmp19__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->size = tmp18__ >> 0 & 0x7fff;
- pDst->fixed = tmp18__ >> 15 & 0x1;
+ pDst->size = tmp19__ >> 0 & 0x7fff;
+ pDst->fixed = tmp19__ >> 15 & 0x1;
framesntohs(pCtx, &pDst->max_msdu_size, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
@@ -2128,7 +2143,7 @@ tANI_U32 dot11fUnpackIeTSPEC(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen,
tANI_U32 dot11fUnpackIeWMMSchedule(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMSchedule *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U16 tmp19__;
+ tANI_U16 tmp20__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
@@ -2140,13 +2155,13 @@ tANI_U32 dot11fUnpackIeWMMSchedule(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i
pDst->present = 0;
return ( status | DOT11F_BAD_FIXED_VALUE );
}
- framesntohs(pCtx, &tmp19__, pBuf, 0);
+ framesntohs(pCtx, &tmp20__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->aggregation = tmp19__ >> 0 & 0x1;
- pDst->tsid = tmp19__ >> 1 & 0xf;
- pDst->direction = tmp19__ >> 5 & 0x3;
- pDst->reserved = tmp19__ >> 7 & 0x1ff;
+ pDst->aggregation = tmp20__ >> 0 & 0x1;
+ pDst->tsid = tmp20__ >> 1 & 0xf;
+ pDst->direction = tmp20__ >> 5 & 0x3;
+ pDst->reserved = tmp20__ >> 7 & 0x1ff;
framesntohl(pCtx, &pDst->service_start_time, pBuf, 0);
pBuf += 4;
ielen -= (tANI_U8)4;
@@ -2308,9 +2323,9 @@ tANI_U32 dot11fUnpackIeWMMTSDelay(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ie
tANI_U32 dot11fUnpackIeWMMTSPEC(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMTSPEC *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U16 tmp20__;
- tANI_U8 tmp21__;
- tANI_U16 tmp22__;
+ tANI_U16 tmp21__;
+ tANI_U8 tmp22__;
+ tANI_U16 tmp23__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
@@ -2322,27 +2337,27 @@ tANI_U32 dot11fUnpackIeWMMTSPEC(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iele
pDst->present = 0;
return ( status | DOT11F_BAD_FIXED_VALUE );
}
- framesntohs(pCtx, &tmp20__, pBuf, 0);
+ framesntohs(pCtx, &tmp21__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->traffic_type = tmp20__ >> 0 & 0x1;
- pDst->tsid = tmp20__ >> 1 & 0xf;
- pDst->direction = tmp20__ >> 5 & 0x3;
- pDst->access_policy = tmp20__ >> 7 & 0x3;
- pDst->aggregation = tmp20__ >> 9 & 0x1;
- pDst->psb = tmp20__ >> 10 & 0x1;
- pDst->user_priority = tmp20__ >> 11 & 0x7;
- pDst->tsinfo_ack_pol = tmp20__ >> 14 & 0x3;
- tmp21__ = *pBuf;
+ pDst->traffic_type = tmp21__ >> 0 & 0x1;
+ pDst->tsid = tmp21__ >> 1 & 0xf;
+ pDst->direction = tmp21__ >> 5 & 0x3;
+ pDst->access_policy = tmp21__ >> 7 & 0x3;
+ pDst->aggregation = tmp21__ >> 9 & 0x1;
+ pDst->psb = tmp21__ >> 10 & 0x1;
+ pDst->user_priority = tmp21__ >> 11 & 0x7;
+ pDst->tsinfo_ack_pol = tmp21__ >> 14 & 0x3;
+ tmp22__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->tsinfo_rsvd = tmp21__ >> 0 & 0x7f;
- pDst->burst_size_defn = tmp21__ >> 7 & 0x1;
- framesntohs(pCtx, &tmp22__, pBuf, 0);
+ pDst->tsinfo_rsvd = tmp22__ >> 0 & 0x7f;
+ pDst->burst_size_defn = tmp22__ >> 7 & 0x1;
+ framesntohs(pCtx, &tmp23__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->size = tmp22__ >> 0 & 0x7fff;
- pDst->fixed = tmp22__ >> 15 & 0x1;
+ pDst->size = tmp23__ >> 0 & 0x7fff;
+ pDst->fixed = tmp23__ >> 15 & 0x1;
framesntohs(pCtx, &pDst->max_msdu_size, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
@@ -2553,7 +2568,6 @@ tANI_U32 dot11fUnpackIeCountry(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen
tANI_U32 dot11fUnpackIeEDCAParamSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEEDCAParamSet *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp23__;
tANI_U8 tmp24__;
tANI_U8 tmp25__;
tANI_U8 tmp26__;
@@ -2561,6 +2575,7 @@ tANI_U32 dot11fUnpackIeEDCAParamSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8
tANI_U8 tmp28__;
tANI_U8 tmp29__;
tANI_U8 tmp30__;
+ tANI_U8 tmp31__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
@@ -2570,63 +2585,63 @@ tANI_U32 dot11fUnpackIeEDCAParamSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8
pDst->reserved = *pBuf;
pBuf += 1;
ielen -= (tANI_U8)1;
- tmp23__ = *pBuf;
+ tmp24__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbe_aifsn = tmp23__ >> 0 & 0xf;
- pDst->acbe_acm = tmp23__ >> 4 & 0x1;
- pDst->acbe_aci = tmp23__ >> 5 & 0x3;
- pDst->unused1 = tmp23__ >> 7 & 0x1;
- tmp24__ = *pBuf;
+ pDst->acbe_aifsn = tmp24__ >> 0 & 0xf;
+ pDst->acbe_acm = tmp24__ >> 4 & 0x1;
+ pDst->acbe_aci = tmp24__ >> 5 & 0x3;
+ pDst->unused1 = tmp24__ >> 7 & 0x1;
+ tmp25__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbe_acwmin = tmp24__ >> 0 & 0xf;
- pDst->acbe_acwmax = tmp24__ >> 4 & 0xf;
+ pDst->acbe_acwmin = tmp25__ >> 0 & 0xf;
+ pDst->acbe_acwmax = tmp25__ >> 4 & 0xf;
framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
- tmp25__ = *pBuf;
+ tmp26__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbk_aifsn = tmp25__ >> 0 & 0xf;
- pDst->acbk_acm = tmp25__ >> 4 & 0x1;
- pDst->acbk_aci = tmp25__ >> 5 & 0x3;
- pDst->unused2 = tmp25__ >> 7 & 0x1;
- tmp26__ = *pBuf;
+ pDst->acbk_aifsn = tmp26__ >> 0 & 0xf;
+ pDst->acbk_acm = tmp26__ >> 4 & 0x1;
+ pDst->acbk_aci = tmp26__ >> 5 & 0x3;
+ pDst->unused2 = tmp26__ >> 7 & 0x1;
+ tmp27__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbk_acwmin = tmp26__ >> 0 & 0xf;
- pDst->acbk_acwmax = tmp26__ >> 4 & 0xf;
+ pDst->acbk_acwmin = tmp27__ >> 0 & 0xf;
+ pDst->acbk_acwmax = tmp27__ >> 4 & 0xf;
framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
- tmp27__ = *pBuf;
+ tmp28__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvi_aifsn = tmp27__ >> 0 & 0xf;
- pDst->acvi_acm = tmp27__ >> 4 & 0x1;
- pDst->acvi_aci = tmp27__ >> 5 & 0x3;
- pDst->unused3 = tmp27__ >> 7 & 0x1;
- tmp28__ = *pBuf;
+ pDst->acvi_aifsn = tmp28__ >> 0 & 0xf;
+ pDst->acvi_acm = tmp28__ >> 4 & 0x1;
+ pDst->acvi_aci = tmp28__ >> 5 & 0x3;
+ pDst->unused3 = tmp28__ >> 7 & 0x1;
+ tmp29__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvi_acwmin = tmp28__ >> 0 & 0xf;
- pDst->acvi_acwmax = tmp28__ >> 4 & 0xf;
+ pDst->acvi_acwmin = tmp29__ >> 0 & 0xf;
+ pDst->acvi_acwmax = tmp29__ >> 4 & 0xf;
framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
- tmp29__ = *pBuf;
+ tmp30__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvo_aifsn = tmp29__ >> 0 & 0xf;
- pDst->acvo_acm = tmp29__ >> 4 & 0x1;
- pDst->acvo_aci = tmp29__ >> 5 & 0x3;
- pDst->unused4 = tmp29__ >> 7 & 0x1;
- tmp30__ = *pBuf;
+ pDst->acvo_aifsn = tmp30__ >> 0 & 0xf;
+ pDst->acvo_acm = tmp30__ >> 4 & 0x1;
+ pDst->acvo_aci = tmp30__ >> 5 & 0x3;
+ pDst->unused4 = tmp30__ >> 7 & 0x1;
+ tmp31__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvo_acwmin = tmp30__ >> 0 & 0xf;
- pDst->acvo_acwmax = tmp30__ >> 4 & 0xf;
+ pDst->acvo_acwmin = tmp31__ >> 0 & 0xf;
+ pDst->acvo_acwmax = tmp31__ >> 4 & 0xf;
framesntohs(pCtx, &pDst->acvo_txoplimit, pBuf, 0);
(void)pCtx;
return status;
@@ -2638,15 +2653,15 @@ tANI_U32 dot11fUnpackIeEDCAParamSet(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8
tANI_U32 dot11fUnpackIeERPInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEERPInfo *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;
- tmp31__ = *pBuf;
- pDst->non_erp_present = tmp31__ >> 0 & 0x1;
- pDst->use_prot = tmp31__ >> 1 & 0x1;
- pDst->barker_preamble = tmp31__ >> 2 & 0x1;
- pDst->unused = tmp31__ >> 3 & 0x1f;
+ tmp32__ = *pBuf;
+ pDst->non_erp_present = tmp32__ >> 0 & 0x1;
+ pDst->use_prot = tmp32__ >> 1 & 0x1;
+ pDst->barker_preamble = tmp32__ >> 2 & 0x1;
+ pDst->unused = tmp32__ >> 3 & 0x1f;
(void)pCtx;
return status;
} /* End dot11fUnpackIeERPInfo. */
@@ -2677,16 +2692,16 @@ tANI_U32 dot11fUnpackIeESECckmOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8
tANI_U32 dot11fUnpackIeESERadMgmtCap(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEESERadMgmtCap *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp32__;
+ tANI_U8 tmp33__;
(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;
- tmp32__ = *pBuf;
- pDst->mbssid_mask = tmp32__ >> 0 & 0x7;
- pDst->reserved = tmp32__ >> 3 & 0x1f;
+ tmp33__ = *pBuf;
+ pDst->mbssid_mask = tmp33__ >> 0 & 0x7;
+ pDst->reserved = tmp33__ >> 3 & 0x1f;
(void)pCtx;
return status;
} /* End dot11fUnpackIeESERadMgmtCap. */
@@ -2908,15 +2923,15 @@ tANI_U32 dot11fUnpackIeFHPattTable(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i
tANI_U32 dot11fUnpackIeFTInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEFTInfo *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U16 tmp33__;
+ tANI_U16 tmp34__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohs(pCtx, &tmp33__, pBuf, 0);
+ framesntohs(pCtx, &tmp34__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->reserved = tmp33__ >> 0 & 0xff;
- pDst->IECount = tmp33__ >> 8 & 0xff;
+ pDst->reserved = tmp34__ >> 0 & 0xff;
+ pDst->IECount = tmp34__ >> 8 & 0xff;
DOT11F_MEMCPY(pCtx, pDst->MIC, pBuf, 16);
pBuf += 16;
ielen -= (tANI_U8)16;
@@ -2943,17 +2958,17 @@ tANI_U32 dot11fUnpackIeFTInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen,
tANI_U32 dot11fUnpackIeHT2040BSSCoexistence(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEHT2040BSSCoexistence *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp34__;
+ tANI_U8 tmp35__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp34__ = *pBuf;
- pDst->infoRequest = tmp34__ >> 0 & 0x1;
- pDst->fortyMHzIntolerant = tmp34__ >> 1 & 0x1;
- pDst->twentyMHzBssWidthReq = tmp34__ >> 2 & 0x1;
- pDst->obssScanExemptionReq = tmp34__ >> 3 & 0x1;
- pDst->obssScanExemptionGrant = tmp34__ >> 4 & 0x1;
- pDst->unused = tmp34__ >> 5 & 0x7;
+ tmp35__ = *pBuf;
+ pDst->infoRequest = tmp35__ >> 0 & 0x1;
+ pDst->fortyMHzIntolerant = tmp35__ >> 1 & 0x1;
+ pDst->twentyMHzBssWidthReq = tmp35__ >> 2 & 0x1;
+ pDst->obssScanExemptionReq = tmp35__ >> 3 & 0x1;
+ pDst->obssScanExemptionGrant = tmp35__ >> 4 & 0x1;
+ pDst->unused = tmp35__ >> 5 & 0x7;
(void)pCtx;
return status;
} /* End dot11fUnpackIeHT2040BSSCoexistence. */
@@ -2987,78 +3002,78 @@ tANI_U32 dot11fUnpackIeHT2040BSSIntolerantReport(tpAniSirGlobal pCtx, tANI_U8 *p
tANI_U32 dot11fUnpackIeHTCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEHTCaps *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U16 tmp35__;
- tANI_U8 tmp36__;
- tANI_U16 tmp37__;
- tANI_U32 tmp38__;
- tANI_U8 tmp39__;
+ tANI_U16 tmp36__;
+ tANI_U8 tmp37__;
+ tANI_U16 tmp38__;
+ tANI_U32 tmp39__;
+ tANI_U8 tmp40__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohs(pCtx, &tmp35__, pBuf, 0);
+ framesntohs(pCtx, &tmp36__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->advCodingCap = tmp35__ >> 0 & 0x1;
- pDst->supportedChannelWidthSet = tmp35__ >> 1 & 0x1;
- pDst->mimoPowerSave = tmp35__ >> 2 & 0x3;
- pDst->greenField = tmp35__ >> 4 & 0x1;
- pDst->shortGI20MHz = tmp35__ >> 5 & 0x1;
- pDst->shortGI40MHz = tmp35__ >> 6 & 0x1;
- pDst->txSTBC = tmp35__ >> 7 & 0x1;
- pDst->rxSTBC = tmp35__ >> 8 & 0x3;
- pDst->delayedBA = tmp35__ >> 10 & 0x1;
- pDst->maximalAMSDUsize = tmp35__ >> 11 & 0x1;
- pDst->dsssCckMode40MHz = tmp35__ >> 12 & 0x1;
- pDst->psmp = tmp35__ >> 13 & 0x1;
- pDst->stbcControlFrame = tmp35__ >> 14 & 0x1;
- pDst->lsigTXOPProtection = tmp35__ >> 15 & 0x1;
- tmp36__ = *pBuf;
+ pDst->advCodingCap = tmp36__ >> 0 & 0x1;
+ pDst->supportedChannelWidthSet = tmp36__ >> 1 & 0x1;
+ pDst->mimoPowerSave = tmp36__ >> 2 & 0x3;
+ pDst->greenField = tmp36__ >> 4 & 0x1;
+ pDst->shortGI20MHz = tmp36__ >> 5 & 0x1;
+ pDst->shortGI40MHz = tmp36__ >> 6 & 0x1;
+ pDst->txSTBC = tmp36__ >> 7 & 0x1;
+ pDst->rxSTBC = tmp36__ >> 8 & 0x3;
+ pDst->delayedBA = tmp36__ >> 10 & 0x1;
+ pDst->maximalAMSDUsize = tmp36__ >> 11 & 0x1;
+ pDst->dsssCckMode40MHz = tmp36__ >> 12 & 0x1;
+ pDst->psmp = tmp36__ >> 13 & 0x1;
+ pDst->stbcControlFrame = tmp36__ >> 14 & 0x1;
+ pDst->lsigTXOPProtection = tmp36__ >> 15 & 0x1;
+ tmp37__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->maxRxAMPDUFactor = tmp36__ >> 0 & 0x3;
- pDst->mpduDensity = tmp36__ >> 2 & 0x7;
- pDst->reserved1 = tmp36__ >> 5 & 0x7;
+ pDst->maxRxAMPDUFactor = tmp37__ >> 0 & 0x3;
+ pDst->mpduDensity = tmp37__ >> 2 & 0x7;
+ pDst->reserved1 = tmp37__ >> 5 & 0x7;
DOT11F_MEMCPY(pCtx, pDst->supportedMCSSet, pBuf, 16);
pBuf += 16;
ielen -= (tANI_U8)16;
- framesntohs(pCtx, &tmp37__, pBuf, 0);
+ framesntohs(pCtx, &tmp38__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->pco = tmp37__ >> 0 & 0x1;
- pDst->transitionTime = tmp37__ >> 1 & 0x3;
- pDst->reserved2 = tmp37__ >> 3 & 0x1f;
- pDst->mcsFeedback = tmp37__ >> 8 & 0x3;
- pDst->reserved3 = tmp37__ >> 10 & 0x3f;
- framesntohl(pCtx, &tmp38__, pBuf, 0);
+ pDst->pco = tmp38__ >> 0 & 0x1;
+ pDst->transitionTime = tmp38__ >> 1 & 0x3;
+ pDst->reserved2 = tmp38__ >> 3 & 0x1f;
+ pDst->mcsFeedback = tmp38__ >> 8 & 0x3;
+ pDst->reserved3 = tmp38__ >> 10 & 0x3f;
+ framesntohl(pCtx, &tmp39__, pBuf, 0);
pBuf += 4;
ielen -= 4;
- pDst->txBF = tmp38__ >> 0 & 0x1;
- pDst->rxStaggeredSounding = tmp38__ >> 1 & 0x1;
- pDst->txStaggeredSounding = tmp38__ >> 2 & 0x1;
- pDst->rxZLF = tmp38__ >> 3 & 0x1;
- pDst->txZLF = tmp38__ >> 4 & 0x1;
- pDst->implicitTxBF = tmp38__ >> 5 & 0x1;
- pDst->calibration = tmp38__ >> 6 & 0x3;
- pDst->explicitCSITxBF = tmp38__ >> 8 & 0x1;
- pDst->explicitUncompressedSteeringMatrix = tmp38__ >> 9 & 0x1;
- pDst->explicitBFCSIFeedback = tmp38__ >> 10 & 0x7;
- pDst->explicitUncompressedSteeringMatrixFeedback = tmp38__ >> 13 & 0x7;
- pDst->explicitCompressedSteeringMatrixFeedback = tmp38__ >> 16 & 0x7;
- pDst->csiNumBFAntennae = tmp38__ >> 19 & 0x3;
- pDst->uncompressedSteeringMatrixBFAntennae = tmp38__ >> 21 & 0x3;
- pDst->compressedSteeringMatrixBFAntennae = tmp38__ >> 23 & 0x3;
- pDst->reserved4 = tmp38__ >> 25 & 0x7f;
- tmp39__ = *pBuf;
+ pDst->txBF = tmp39__ >> 0 & 0x1;
+ pDst->rxStaggeredSounding = tmp39__ >> 1 & 0x1;
+ pDst->txStaggeredSounding = tmp39__ >> 2 & 0x1;
+ pDst->rxZLF = tmp39__ >> 3 & 0x1;
+ pDst->txZLF = tmp39__ >> 4 & 0x1;
+ pDst->implicitTxBF = tmp39__ >> 5 & 0x1;
+ pDst->calibration = tmp39__ >> 6 & 0x3;
+ pDst->explicitCSITxBF = tmp39__ >> 8 & 0x1;
+ pDst->explicitUncompressedSteeringMatrix = tmp39__ >> 9 & 0x1;
+ pDst->explicitBFCSIFeedback = tmp39__ >> 10 & 0x7;
+ pDst->explicitUncompressedSteeringMatrixFeedback = tmp39__ >> 13 & 0x7;
+ pDst->explicitCompressedSteeringMatrixFeedback = tmp39__ >> 16 & 0x7;
+ pDst->csiNumBFAntennae = tmp39__ >> 19 & 0x3;
+ pDst->uncompressedSteeringMatrixBFAntennae = tmp39__ >> 21 & 0x3;
+ pDst->compressedSteeringMatrixBFAntennae = tmp39__ >> 23 & 0x3;
+ pDst->reserved4 = tmp39__ >> 25 & 0x7f;
+ tmp40__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->antennaSelection = tmp39__ >> 0 & 0x1;
- pDst->explicitCSIFeedbackTx = tmp39__ >> 1 & 0x1;
- pDst->antennaIndicesFeedbackTx = tmp39__ >> 2 & 0x1;
- pDst->explicitCSIFeedback = tmp39__ >> 3 & 0x1;
- pDst->antennaIndicesFeedback = tmp39__ >> 4 & 0x1;
- pDst->rxAS = tmp39__ >> 5 & 0x1;
- pDst->txSoundingPPDUs = tmp39__ >> 6 & 0x1;
- pDst->reserved5 = tmp39__ >> 7 & 0x1;
+ pDst->antennaSelection = tmp40__ >> 0 & 0x1;
+ pDst->explicitCSIFeedbackTx = tmp40__ >> 1 & 0x1;
+ pDst->antennaIndicesFeedbackTx = tmp40__ >> 2 & 0x1;
+ pDst->explicitCSIFeedback = tmp40__ >> 3 & 0x1;
+ pDst->antennaIndicesFeedback = tmp40__ >> 4 & 0x1;
+ pDst->rxAS = tmp40__ >> 5 & 0x1;
+ pDst->txSoundingPPDUs = tmp40__ >> 6 & 0x1;
+ pDst->reserved5 = tmp40__ >> 7 & 0x1;
pDst->num_rsvd = (tANI_U8)( ielen );
if (ielen > 32){
pDst->present = 0;
@@ -3076,41 +3091,41 @@ tANI_U32 dot11fUnpackIeHTCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen,
tANI_U32 dot11fUnpackIeHTInfo(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEHTInfo *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp40__;
- tANI_U16 tmp41__;
+ tANI_U8 tmp41__;
tANI_U16 tmp42__;
+ tANI_U16 tmp43__;
(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;
- tmp40__ = *pBuf;
+ tmp41__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->secondaryChannelOffset = tmp40__ >> 0 & 0x3;
- pDst->recommendedTxWidthSet = tmp40__ >> 2 & 0x1;
- pDst->rifsMode = tmp40__ >> 3 & 0x1;
- pDst->controlledAccessOnly = tmp40__ >> 4 & 0x1;
- pDst->serviceIntervalGranularity = tmp40__ >> 5 & 0x7;
- framesntohs(pCtx, &tmp41__, pBuf, 0);
+ pDst->secondaryChannelOffset = tmp41__ >> 0 & 0x3;
+ pDst->recommendedTxWidthSet = tmp41__ >> 2 & 0x1;
+ pDst->rifsMode = tmp41__ >> 3 & 0x1;
+ pDst->controlledAccessOnly = tmp41__ >> 4 & 0x1;
+ pDst->serviceIntervalGranularity = tmp41__ >> 5 & 0x7;
+ framesntohs(pCtx, &tmp42__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->opMode = tmp41__ >> 0 & 0x3;
- pDst->nonGFDevicesPresent = tmp41__ >> 2 & 0x1;
- pDst->transmitBurstLimit = tmp41__ >> 3 & 0x1;
- pDst->obssNonHTStaPresent = tmp41__ >> 4 & 0x1;
- pDst->reserved = tmp41__ >> 5 & 0x7ff;
- framesntohs(pCtx, &tmp42__, pBuf, 0);
+ pDst->opMode = tmp42__ >> 0 & 0x3;
+ pDst->nonGFDevicesPresent = tmp42__ >> 2 & 0x1;
+ pDst->transmitBurstLimit = tmp42__ >> 3 & 0x1;
+ pDst->obssNonHTStaPresent = tmp42__ >> 4 & 0x1;
+ pDst->reserved = tmp42__ >> 5 & 0x7ff;
+ framesntohs(pCtx, &tmp43__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->basicSTBCMCS = tmp42__ >> 0 & 0x7f;
- pDst->dualCTSProtection = tmp42__ >> 7 & 0x1;
- pDst->secondaryBeacon = tmp42__ >> 8 & 0x1;
- pDst->lsigTXOPProtectionFullSupport = tmp42__ >> 9 & 0x1;
- pDst->pcoActive = tmp42__ >> 10 & 0x1;
- pDst->pcoPhase = tmp42__ >> 11 & 0x1;
- pDst->reserved2 = tmp42__ >> 12 & 0xf;
+ pDst->basicSTBCMCS = tmp43__ >> 0 & 0x7f;
+ pDst->dualCTSProtection = tmp43__ >> 7 & 0x1;
+ pDst->secondaryBeacon = tmp43__ >> 8 & 0x1;
+ pDst->lsigTXOPProtectionFullSupport = tmp43__ >> 9 & 0x1;
+ pDst->pcoActive = tmp43__ >> 10 & 0x1;
+ pDst->pcoPhase = tmp43__ >> 11 & 0x1;
+ pDst->reserved2 = tmp43__ >> 12 & 0xf;
DOT11F_MEMCPY(pCtx, pDst->basicMCSSet, pBuf, 16);
pBuf += 16;
ielen -= (tANI_U8)16;
@@ -3174,22 +3189,22 @@ static const tIEDefn IES_reportBeacon[ ] = {
tANI_U32 dot11fUnpackIeMeasurementReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEMeasurementReport *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp43__;
tANI_U8 tmp44__;
tANI_U8 tmp45__;
+ tANI_U8 tmp46__;
(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;
- tmp43__ = *pBuf;
+ tmp44__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->late = tmp43__ >> 0 & 0x1;
- pDst->incapable = tmp43__ >> 1 & 0x1;
- pDst->refused = tmp43__ >> 2 & 0x1;
- pDst->unused = tmp43__ >> 3 & 0x1f;
+ pDst->late = tmp44__ >> 0 & 0x1;
+ pDst->incapable = tmp44__ >> 1 & 0x1;
+ pDst->refused = tmp44__ >> 2 & 0x1;
+ pDst->unused = tmp44__ >> 3 & 0x1f;
pDst->type = *pBuf;
pBuf += 1;
ielen -= (tANI_U8)1;
@@ -3211,15 +3226,15 @@ tANI_U32 dot11fUnpackIeMeasurementReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tAN
framesntohs(pCtx, &pDst->report.Basic.meas_duration, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
- tmp44__ = *pBuf;
+ tmp45__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->report.Basic.bss = tmp44__ >> 0 & 0x1;
- pDst->report.Basic.ofdm_preamble = tmp44__ >> 1 & 0x1;
- pDst->report.Basic.unid_signal = tmp44__ >> 2 & 0x1;
- pDst->report.Basic.rader = tmp44__ >> 3 & 0x1;
- pDst->report.Basic.unmeasured = tmp44__ >> 4 & 0x1;
- pDst->report.Basic.unused = tmp44__ >> 5 & 0x7;
+ pDst->report.Basic.bss = tmp45__ >> 0 & 0x1;
+ pDst->report.Basic.ofdm_preamble = tmp45__ >> 1 & 0x1;
+ pDst->report.Basic.unid_signal = tmp45__ >> 2 & 0x1;
+ pDst->report.Basic.rader = tmp45__ >> 3 & 0x1;
+ pDst->report.Basic.unmeasured = tmp45__ >> 4 & 0x1;
+ pDst->report.Basic.unused = tmp45__ >> 5 & 0x7;
break;
case 1:
pDst->report.CCA.channel = *pBuf;
@@ -3283,11 +3298,11 @@ tANI_U32 dot11fUnpackIeMeasurementReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tAN
framesntohs(pCtx, &pDst->report.Beacon.meas_duration, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
- tmp45__ = *pBuf;
+ tmp46__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->report.Beacon.condensed_PHY = tmp45__ >> 0 & 0x7f;
- pDst->report.Beacon.reported_frame_type = tmp45__ >> 7 & 0x1;
+ pDst->report.Beacon.condensed_PHY = tmp46__ >> 0 & 0x7f;
+ pDst->report.Beacon.reported_frame_type = tmp46__ >> 7 & 0x1;
pDst->report.Beacon.RCPI = *pBuf;
pBuf += 1;
ielen -= (tANI_U8)1;
@@ -3336,22 +3351,22 @@ static const tIEDefn IES_measurement_requestBeacon[ ] = {
tANI_U32 dot11fUnpackIeMeasurementRequest(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEMeasurementRequest *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp46__;
+ tANI_U8 tmp47__;
(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;
- tmp46__ = *pBuf;
+ tmp47__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->parallel = tmp46__ >> 0 & 0x1;
- pDst->enable = tmp46__ >> 1 & 0x1;
- pDst->request = tmp46__ >> 2 & 0x1;
- pDst->report = tmp46__ >> 3 & 0x1;
- pDst->durationMandatory = tmp46__ >> 4 & 0x1;
- pDst->unused = tmp46__ >> 5 & 0x7;
+ pDst->parallel = tmp47__ >> 0 & 0x1;
+ pDst->enable = tmp47__ >> 1 & 0x1;
+ pDst->request = tmp47__ >> 2 & 0x1;
+ pDst->report = tmp47__ >> 3 & 0x1;
+ pDst->durationMandatory = tmp47__ >> 4 & 0x1;
+ pDst->unused = tmp47__ >> 5 & 0x7;
pDst->measurement_type = *pBuf;
pBuf += 1;
ielen -= (tANI_U8)1;
@@ -3428,17 +3443,17 @@ tANI_U32 dot11fUnpackIeMeasurementRequest(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tA
tANI_U32 dot11fUnpackIeMobilityDomain(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEMobilityDomain *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp47__;
+ tANI_U8 tmp48__;
(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;
- tmp47__ = *pBuf;
- pDst->overDSCap = tmp47__ >> 0 & 0x1;
- pDst->resourceReqCap = tmp47__ >> 1 & 0x1;
- pDst->reserved = tmp47__ >> 2 & 0x3f;
+ tmp48__ = *pBuf;
+ pDst->overDSCap = tmp48__ >> 0 & 0x1;
+ pDst->resourceReqCap = tmp48__ >> 1 & 0x1;
+ pDst->reserved = tmp48__ >> 2 & 0x3f;
(void)pCtx;
return status;
} /* End dot11fUnpackIeMobilityDomain. */
@@ -3462,31 +3477,31 @@ tANI_U32 dot11fUnpackIeMobilityDomain(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U
tANI_U32 dot11fUnpackIeNeighborReport(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIENeighborReport *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp48__;
tANI_U8 tmp49__;
+ tANI_U8 tmp50__;
(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;
- tmp48__ = *pBuf;
+ tmp49__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->APReachability = tmp48__ >> 0 & 0x3;
- pDst->Security = tmp48__ >> 2 & 0x1;
- pDst->KeyScope = tmp48__ >> 3 & 0x1;
- pDst->SpecMgmtCap = tmp48__ >> 4 & 0x1;
- pDst->QosCap = tmp48__ >> 5 & 0x1;
- pDst->apsd = tmp48__ >> 6 & 0x1;
- pDst->rrm = tmp48__ >> 7 & 0x1;
- tmp49__ = *pBuf;
+ pDst->APReachability = tmp49__ >> 0 & 0x3;
+ pDst->Security = tmp49__ >> 2 & 0x1;
+ pDst->KeyScope = tmp49__ >> 3 & 0x1;
+ pDst->SpecMgmtCap = tmp49__ >> 4 & 0x1;
+ pDst->QosCap = tmp49__ >> 5 & 0x1;
+ pDst->apsd = tmp49__ >> 6 & 0x1;
+ pDst->rrm = tmp49__ >> 7 & 0x1;
+ tmp50__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->DelayedBA = tmp49__ >> 0 & 0x1;
- pDst->ImmBA = tmp49__ >> 1 & 0x1;
- pDst->MobilityDomain = tmp49__ >> 2 & 0x1;
- pDst->reserved = tmp49__ >> 3 & 0x1f;
+ pDst->DelayedBA = tmp50__ >> 0 & 0x1;
+ pDst->ImmBA = tmp50__ >> 1 & 0x1;
+ pDst->MobilityDomain = tmp50__ >> 2 & 0x1;
+ pDst->reserved = tmp50__ >> 3 & 0x1f;
framesntohs(pCtx, &pDst->reserved1, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
@@ -3548,15 +3563,15 @@ tANI_U32 dot11fUnpackIeOBSSScanParameters(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tA
tANI_U32 dot11fUnpackIeOperatingMode(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEOperatingMode *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp50__;
+ tANI_U8 tmp51__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp50__ = *pBuf;
- pDst->chanWidth = tmp50__ >> 0 & 0x3;
- pDst->reserved = tmp50__ >> 2 & 0x3;
- pDst->rxNSS = tmp50__ >> 4 & 0x7;
- pDst->rxNSSType = tmp50__ >> 7 & 0x1;
+ tmp51__ = *pBuf;
+ pDst->chanWidth = tmp51__ >> 0 & 0x3;
+ pDst->reserved = tmp51__ >> 2 & 0x3;
+ pDst->rxNSS = tmp51__ >> 4 & 0x7;
+ pDst->rxNSSType = tmp51__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11fUnpackIeOperatingMode. */
@@ -3997,16 +4012,16 @@ tANI_U32 dot11fUnpackIePTIControl(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ie
tANI_U32 dot11fUnpackIePUBufferStatus(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEPUBufferStatus *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp51__;
+ tANI_U8 tmp52__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp51__ = *pBuf;
- pDst->ac_bk_traffic_aval = tmp51__ >> 0 & 0x1;
- pDst->ac_be_traffic_aval = tmp51__ >> 1 & 0x1;
- pDst->ac_vi_traffic_aval = tmp51__ >> 2 & 0x1;
- pDst->ac_vo_traffic_aval = tmp51__ >> 3 & 0x1;
- pDst->reserved = tmp51__ >> 4 & 0xf;
+ tmp52__ = *pBuf;
+ pDst->ac_bk_traffic_aval = tmp52__ >> 0 & 0x1;
+ pDst->ac_be_traffic_aval = tmp52__ >> 1 & 0x1;
+ pDst->ac_vi_traffic_aval = tmp52__ >> 2 & 0x1;
+ pDst->ac_vo_traffic_aval = tmp52__ >> 3 & 0x1;
+ pDst->reserved = tmp52__ >> 4 & 0xf;
(void)pCtx;
return status;
} /* End dot11fUnpackIePUBufferStatus. */
@@ -4085,16 +4100,16 @@ tANI_U32 dot11fUnpackIeQComVendorIE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8
tANI_U32 dot11fUnpackIeQOSCapsAp(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQOSCapsAp *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp52__;
+ tANI_U8 tmp53__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp52__ = *pBuf;
- pDst->count = tmp52__ >> 0 & 0xf;
- pDst->qack = tmp52__ >> 4 & 0x1;
- pDst->qreq = tmp52__ >> 5 & 0x1;
- pDst->txopreq = tmp52__ >> 6 & 0x1;
- pDst->reserved = tmp52__ >> 7 & 0x1;
+ tmp53__ = *pBuf;
+ pDst->count = tmp53__ >> 0 & 0xf;
+ pDst->qack = tmp53__ >> 4 & 0x1;
+ pDst->qreq = tmp53__ >> 5 & 0x1;
+ pDst->txopreq = tmp53__ >> 6 & 0x1;
+ pDst->reserved = tmp53__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11fUnpackIeQOSCapsAp. */
@@ -4105,18 +4120,18 @@ tANI_U32 dot11fUnpackIeQOSCapsAp(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel
tANI_U32 dot11fUnpackIeQOSCapsStation(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEQOSCapsStation *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp53__;
+ tANI_U8 tmp54__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- tmp53__ = *pBuf;
- pDst->acvo_uapsd = tmp53__ >> 0 & 0x1;
- pDst->acvi_uapsd = tmp53__ >> 1 & 0x1;
- pDst->acbk_uapsd = tmp53__ >> 2 & 0x1;
- pDst->acbe_uapsd = tmp53__ >> 3 & 0x1;
- pDst->qack = tmp53__ >> 4 & 0x1;
- pDst->max_sp_length = tmp53__ >> 5 & 0x3;
- pDst->more_data_ack = tmp53__ >> 7 & 0x1;
+ tmp54__ = *pBuf;
+ pDst->acvo_uapsd = tmp54__ >> 0 & 0x1;
+ pDst->acvi_uapsd = tmp54__ >> 1 & 0x1;
+ pDst->acbk_uapsd = tmp54__ >> 2 & 0x1;
+ pDst->acbe_uapsd = tmp54__ >> 3 & 0x1;
+ pDst->qack = tmp54__ >> 4 & 0x1;
+ pDst->max_sp_length = tmp54__ >> 5 & 0x3;
+ pDst->more_data_ack = tmp54__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11fUnpackIeQOSCapsStation. */
@@ -4525,49 +4540,49 @@ tANI_U32 dot11fUnpackIeTimeoutInterval(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_
tANI_U32 dot11fUnpackIeVHTCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEVHTCaps *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U32 tmp54__;
- tANI_U16 tmp55__;
+ tANI_U32 tmp55__;
tANI_U16 tmp56__;
+ tANI_U16 tmp57__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
- framesntohl(pCtx, &tmp54__, pBuf, 0);
+ framesntohl(pCtx, &tmp55__, pBuf, 0);
pBuf += 4;
ielen -= 4;
- pDst->maxMPDULen = tmp54__ >> 0 & 0x3;
- pDst->supportedChannelWidthSet = tmp54__ >> 2 & 0x3;
- pDst->ldpcCodingCap = tmp54__ >> 4 & 0x1;
- pDst->shortGI80MHz = tmp54__ >> 5 & 0x1;
- pDst->shortGI160and80plus80MHz = tmp54__ >> 6 & 0x1;
- pDst->txSTBC = tmp54__ >> 7 & 0x1;
- pDst->rxSTBC = tmp54__ >> 8 & 0x7;
- pDst->suBeamFormerCap = tmp54__ >> 11 & 0x1;
- pDst->suBeamformeeCap = tmp54__ >> 12 & 0x1;
- pDst->csnofBeamformerAntSup = tmp54__ >> 13 & 0x7;
- pDst->numSoundingDim = tmp54__ >> 16 & 0x7;
- pDst->muBeamformerCap = tmp54__ >> 19 & 0x1;
- pDst->muBeamformeeCap = tmp54__ >> 20 & 0x1;
- pDst->vhtTXOPPS = tmp54__ >> 21 & 0x1;
- pDst->htcVHTCap = tmp54__ >> 22 & 0x1;
- pDst->maxAMPDULenExp = tmp54__ >> 23 & 0x7;
- pDst->vhtLinkAdaptCap = tmp54__ >> 26 & 0x3;
- pDst->rxAntPattern = tmp54__ >> 28 & 0x1;
- pDst->txAntPattern = tmp54__ >> 29 & 0x1;
- pDst->reserved1 = tmp54__ >> 30 & 0x3;
+ pDst->maxMPDULen = tmp55__ >> 0 & 0x3;
+ pDst->supportedChannelWidthSet = tmp55__ >> 2 & 0x3;
+ pDst->ldpcCodingCap = tmp55__ >> 4 & 0x1;
+ pDst->shortGI80MHz = tmp55__ >> 5 & 0x1;
+ pDst->shortGI160and80plus80MHz = tmp55__ >> 6 & 0x1;
+ pDst->txSTBC = tmp55__ >> 7 & 0x1;
+ pDst->rxSTBC = tmp55__ >> 8 & 0x7;
+ pDst->suBeamFormerCap = tmp55__ >> 11 & 0x1;
+ pDst->suBeamformeeCap = tmp55__ >> 12 & 0x1;
+ pDst->csnofBeamformerAntSup = tmp55__ >> 13 & 0x7;
+ pDst->numSoundingDim = tmp55__ >> 16 & 0x7;
+ pDst->muBeamformerCap = tmp55__ >> 19 & 0x1;
+ pDst->muBeamformeeCap = tmp55__ >> 20 & 0x1;
+ pDst->vhtTXOPPS = tmp55__ >> 21 & 0x1;
+ pDst->htcVHTCap = tmp55__ >> 22 & 0x1;
+ pDst->maxAMPDULenExp = tmp55__ >> 23 & 0x7;
+ pDst->vhtLinkAdaptCap = tmp55__ >> 26 & 0x3;
+ pDst->rxAntPattern = tmp55__ >> 28 & 0x1;
+ pDst->txAntPattern = tmp55__ >> 29 & 0x1;
+ pDst->reserved1 = tmp55__ >> 30 & 0x3;
framesntohs(pCtx, &pDst->rxMCSMap, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
- framesntohs(pCtx, &tmp55__, pBuf, 0);
+ framesntohs(pCtx, &tmp56__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->rxHighSupDataRate = tmp55__ >> 0 & 0x1fff;
- pDst->reserved2 = tmp55__ >> 13 & 0x7;
+ pDst->rxHighSupDataRate = tmp56__ >> 0 & 0x1fff;
+ pDst->reserved2 = tmp56__ >> 13 & 0x7;
framesntohs(pCtx, &pDst->txMCSMap, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
- framesntohs(pCtx, &tmp56__, pBuf, 0);
- pDst->txSupDataRate = tmp56__ >> 0 & 0x1fff;
- pDst->reserved3 = tmp56__ >> 13 & 0x7;
+ framesntohs(pCtx, &tmp57__, pBuf, 0);
+ pDst->txSupDataRate = tmp57__ >> 0 & 0x1fff;
+ pDst->reserved3 = tmp57__ >> 13 & 0x7;
(void)pCtx;
return status;
} /* End dot11fUnpackIeVHTCaps. */
@@ -4666,7 +4681,7 @@ tANI_U32 dot11fUnpackIeVendor3IE(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel
tANI_U32 dot11fUnpackIeWAPI(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWAPI *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U16 tmp57__;
+ tANI_U16 tmp58__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
@@ -4703,11 +4718,11 @@ tANI_U32 dot11fUnpackIeWAPI(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, t
DOT11F_MEMCPY(pCtx, pDst->multicast_cipher_suite, pBuf, 4);
pBuf += 4;
ielen -= (tANI_U8)4;
- framesntohs(pCtx, &tmp57__, pBuf, 0);
+ framesntohs(pCtx, &tmp58__, pBuf, 0);
pBuf += 2;
ielen -= 2;
- pDst->preauth = tmp57__ >> 0 & 0x1;
- pDst->reserved = tmp57__ >> 1 & 0x7fff;
+ pDst->preauth = tmp58__ >> 0 & 0x1;
+ pDst->reserved = tmp58__ >> 1 & 0x7fff;
if ( ! ielen )
{
pDst->bkid_count = 0U;
@@ -4792,7 +4807,7 @@ tANI_U32 dot11fUnpackIeWFDIEOpaque(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 i
tANI_U32 dot11fUnpackIeWMMCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMCaps *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp58__;
+ tANI_U8 tmp59__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
@@ -4804,12 +4819,12 @@ tANI_U32 dot11fUnpackIeWMMCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen
pDst->present = 0;
return ( status | DOT11F_BAD_FIXED_VALUE );
}
- tmp58__ = *pBuf;
- pDst->reserved = tmp58__ >> 0 & 0xf;
- pDst->qack = tmp58__ >> 4 & 0x1;
- pDst->queue_request = tmp58__ >> 5 & 0x1;
- pDst->txop_request = tmp58__ >> 6 & 0x1;
- pDst->more_ack = tmp58__ >> 7 & 0x1;
+ tmp59__ = *pBuf;
+ pDst->reserved = tmp59__ >> 0 & 0xf;
+ pDst->qack = tmp59__ >> 4 & 0x1;
+ pDst->queue_request = tmp59__ >> 5 & 0x1;
+ pDst->txop_request = tmp59__ >> 6 & 0x1;
+ pDst->more_ack = tmp59__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11fUnpackIeWMMCaps. */
@@ -4820,17 +4835,17 @@ tANI_U32 dot11fUnpackIeWMMCaps(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen
tANI_U32 dot11fUnpackIeWMMInfoAp(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMInfoAp *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp59__;
+ tANI_U8 tmp60__;
(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;
- tmp59__ = *pBuf;
- pDst->param_set_count = tmp59__ >> 0 & 0xf;
- pDst->reserved = tmp59__ >> 4 & 0x7;
- pDst->uapsd = tmp59__ >> 7 & 0x1;
+ tmp60__ = *pBuf;
+ pDst->param_set_count = tmp60__ >> 0 & 0xf;
+ pDst->reserved = tmp60__ >> 4 & 0x7;
+ pDst->uapsd = tmp60__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11fUnpackIeWMMInfoAp. */
@@ -4841,21 +4856,21 @@ tANI_U32 dot11fUnpackIeWMMInfoAp(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel
tANI_U32 dot11fUnpackIeWMMInfoStation(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMInfoStation *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp60__;
+ tANI_U8 tmp61__;
(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;
- tmp60__ = *pBuf;
- pDst->acvo_uapsd = tmp60__ >> 0 & 0x1;
- pDst->acvi_uapsd = tmp60__ >> 1 & 0x1;
- pDst->acbk_uapsd = tmp60__ >> 2 & 0x1;
- pDst->acbe_uapsd = tmp60__ >> 3 & 0x1;
- pDst->reserved1 = tmp60__ >> 4 & 0x1;
- pDst->max_sp_length = tmp60__ >> 5 & 0x3;
- pDst->reserved2 = tmp60__ >> 7 & 0x1;
+ tmp61__ = *pBuf;
+ pDst->acvo_uapsd = tmp61__ >> 0 & 0x1;
+ pDst->acvi_uapsd = tmp61__ >> 1 & 0x1;
+ pDst->acbk_uapsd = tmp61__ >> 2 & 0x1;
+ pDst->acbe_uapsd = tmp61__ >> 3 & 0x1;
+ pDst->reserved1 = tmp61__ >> 4 & 0x1;
+ pDst->max_sp_length = tmp61__ >> 5 & 0x3;
+ pDst->reserved2 = tmp61__ >> 7 & 0x1;
(void)pCtx;
return status;
} /* End dot11fUnpackIeWMMInfoStation. */
@@ -4866,7 +4881,6 @@ tANI_U32 dot11fUnpackIeWMMInfoStation(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U
tANI_U32 dot11fUnpackIeWMMParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWMMParams *pDst)
{
tANI_U32 status = DOT11F_PARSE_SUCCESS;
- tANI_U8 tmp61__;
tANI_U8 tmp62__;
tANI_U8 tmp63__;
tANI_U8 tmp64__;
@@ -4874,6 +4888,7 @@ tANI_U32 dot11fUnpackIeWMMParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel
tANI_U8 tmp66__;
tANI_U8 tmp67__;
tANI_U8 tmp68__;
+ tANI_U8 tmp69__;
(void) pBuf; (void)ielen; /* Shutup the compiler */
if (pDst->present) status = DOT11F_DUPLICATE_IE;
pDst->present = 1;
@@ -4891,63 +4906,63 @@ tANI_U32 dot11fUnpackIeWMMParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel
pDst->reserved2 = *pBuf;
pBuf += 1;
ielen -= (tANI_U8)1;
- tmp61__ = *pBuf;
+ tmp62__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbe_aifsn = tmp61__ >> 0 & 0xf;
- pDst->acbe_acm = tmp61__ >> 4 & 0x1;
- pDst->acbe_aci = tmp61__ >> 5 & 0x3;
- pDst->unused1 = tmp61__ >> 7 & 0x1;
- tmp62__ = *pBuf;
+ pDst->acbe_aifsn = tmp62__ >> 0 & 0xf;
+ pDst->acbe_acm = tmp62__ >> 4 & 0x1;
+ pDst->acbe_aci = tmp62__ >> 5 & 0x3;
+ pDst->unused1 = tmp62__ >> 7 & 0x1;
+ tmp63__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbe_acwmin = tmp62__ >> 0 & 0xf;
- pDst->acbe_acwmax = tmp62__ >> 4 & 0xf;
+ pDst->acbe_acwmin = tmp63__ >> 0 & 0xf;
+ pDst->acbe_acwmax = tmp63__ >> 4 & 0xf;
framesntohs(pCtx, &pDst->acbe_txoplimit, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
- tmp63__ = *pBuf;
+ tmp64__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbk_aifsn = tmp63__ >> 0 & 0xf;
- pDst->acbk_acm = tmp63__ >> 4 & 0x1;
- pDst->acbk_aci = tmp63__ >> 5 & 0x3;
- pDst->unused2 = tmp63__ >> 7 & 0x1;
- tmp64__ = *pBuf;
+ pDst->acbk_aifsn = tmp64__ >> 0 & 0xf;
+ pDst->acbk_acm = tmp64__ >> 4 & 0x1;
+ pDst->acbk_aci = tmp64__ >> 5 & 0x3;
+ pDst->unused2 = tmp64__ >> 7 & 0x1;
+ tmp65__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acbk_acwmin = tmp64__ >> 0 & 0xf;
- pDst->acbk_acwmax = tmp64__ >> 4 & 0xf;
+ pDst->acbk_acwmin = tmp65__ >> 0 & 0xf;
+ pDst->acbk_acwmax = tmp65__ >> 4 & 0xf;
framesntohs(pCtx, &pDst->acbk_txoplimit, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
- tmp65__ = *pBuf;
+ tmp66__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvi_aifsn = tmp65__ >> 0 & 0xf;
- pDst->acvi_acm = tmp65__ >> 4 & 0x1;
- pDst->acvi_aci = tmp65__ >> 5 & 0x3;
- pDst->unused3 = tmp65__ >> 7 & 0x1;
- tmp66__ = *pBuf;
+ pDst->acvi_aifsn = tmp66__ >> 0 & 0xf;
+ pDst->acvi_acm = tmp66__ >> 4 & 0x1;
+ pDst->acvi_aci = tmp66__ >> 5 & 0x3;
+ pDst->unused3 = tmp66__ >> 7 & 0x1;
+ tmp67__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvi_acwmin = tmp66__ >> 0 & 0xf;
- pDst->acvi_acwmax = tmp66__ >> 4 & 0xf;
+ pDst->acvi_acwmin = tmp67__ >> 0 & 0xf;
+ pDst->acvi_acwmax = tmp67__ >> 4 & 0xf;
framesntohs(pCtx, &pDst->acvi_txoplimit, pBuf, 0);
pBuf += 2;
ielen -= (tANI_U8)2;
- tmp67__ = *pBuf;
+ tmp68__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvo_aifsn = tmp67__ >> 0 & 0xf;
- pDst->acvo_acm = tmp67__ >> 4 & 0x1;
- pDst->acvo_aci = tmp67__ >> 5 & 0x3;
- pDst->unused4 = tmp67__ >> 7 & 0x1;
- tmp68__ = *pBuf;
+ pDst->acvo_aifsn = tmp68__ >> 0 & 0xf;
+ pDst->acvo_acm = tmp68__ >> 4 & 0x1;
+ pDst->acvo_aci = tmp68__ >> 5 & 0x3;
+ pDst->unused4 = tmp68__ >> 7 & 0x1;
+ tmp69__ = *pBuf;
pBuf += 1;
ielen -= 1;
- pDst->acvo_acwmin = tmp68__ >> 0 & 0xf;
- pDst->acvo_acwmax = tmp68__ >> 4 & 0xf;
+ pDst->acvo_acwmin = tmp69__ >> 0 & 0xf;
+ pDst->acvo_acwmax = tmp69__ >> 4 & 0xf;
framesntohs(pCtx, &pDst->acvo_txoplimit, pBuf, 0);
(void)pCtx;
return status;
@@ -18456,6 +18471,44 @@ tANI_U32 dot11fUnpackWMMDelTS(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf,
} /* End dot11fUnpackWMMDelTS. */
+ static const tFFDefn FFS_ext_channel_switch_action_frame[] = {
+ { "Category", offsetof(tDot11fext_channel_switch_action_frame, Category), SigFfCategory , DOT11F_FF_CATEGORY_LEN, },
+ { "Action", offsetof(tDot11fext_channel_switch_action_frame, Action), SigFfAction , DOT11F_FF_ACTION_LEN, },
+ { "ext_chan_switch_ann_action", offsetof(tDot11fext_channel_switch_action_frame, ext_chan_switch_ann_action), SigFfext_chan_switch_ann_action , DOT11F_FF_EXT_CHAN_SWITCH_ANN_ACTION_LEN, },
+ { NULL, 0, 0, 0,},
+ };
+
+ static const tIEDefn IES_ext_channel_switch_action_frame[] = {
+ {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, }, };
+
+tANI_U32 dot11fUnpackext_channel_switch_action_frame(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fext_channel_switch_action_frame *pFrm)
+{
+ tANI_U32 i = 0;
+ tANI_U32 status = 0;
+ status = UnpackCore(pCtx, pBuf, nBuf, FFS_ext_channel_switch_action_frame, IES_ext_channel_switch_action_frame, ( tANI_U8* )pFrm, sizeof(*pFrm));
+
+ (void)i;
+# ifdef DOT11F_DUMP_FRAMES
+ if (!DOT11F_FAILED(status))
+ {
+ FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("Unpacked the ext_channel_switch_action_frame:\n"));
+ FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), pBuf, nBuf);
+ FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("to:\n"));
+ FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("Category:\n"));
+ FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), ( tANI_U8* )&pFrm->Category.category, 1);
+ FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("Action:\n"));
+ FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), ( tANI_U8* )&pFrm->Action.action, 1);
+ FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("ext_chan_switch_ann_action:\n"));
+ FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("switch_mode (8): %d\n"), pFrm->ext_chan_switch_ann_action.switch_mode);
+ FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("op_class (8): %d\n"), pFrm->ext_chan_switch_ann_action.op_class);
+ FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("new_channel (8): %d\n"), pFrm->ext_chan_switch_ann_action.new_channel);
+ FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("switch_count (8): %d\n"), pFrm->ext_chan_switch_ann_action.switch_count);
+ }
+# endif // DOT11F_DUMP_FRAMES
+ return status;
+
+} /* End dot11fUnpackext_channel_switch_action_frame. */
+
static tANI_U32 UnpackCore(tpAniSirGlobal pCtx,
tANI_U8 *pBuf,
tANI_U32 nBuf,
@@ -18617,6 +18670,9 @@ static tANI_U32 UnpackCore(tpAniSirGlobal pCtx,
case SigFfVhtUserPositionArray:
dot11fUnpackFfVhtUserPositionArray(pCtx, pBufRemaining, ( tDot11fFfVhtUserPositionArray* )(pFrm + pFf->offset ));
break;
+ case SigFfext_chan_switch_ann_action:
+ dot11fUnpackFfext_chan_switch_ann_action(pCtx, pBufRemaining, ( tDot11fFfext_chan_switch_ann_action* )(pFrm + pFf->offset ));
+ break;
default:
FRAMES_LOG1(pCtx, FRLOGE, FRFL("INTERNAL ERROR: I don'"
"t know about the FF signature %d-- this is most "
@@ -20739,6 +20795,14 @@ tANI_U32 dot11fGetPackedWMMDelTSSize(tpAniSirGlobal pCtx, tDot11fWMMDelTS *pFrm,
return status;
} /* End dot11fGetPackedWMMDelTSSize. */
+tANI_U32 dot11fGetPackedext_channel_switch_action_frameSize(tpAniSirGlobal pCtx, tDot11fext_channel_switch_action_frame *pFrm, tANI_U32 *pnNeeded)
+{
+ tANI_U32 status = 0;
+ *pnNeeded = 6;
+ status = GetPackedSizeCore(pCtx, ( tANI_U8* )pFrm, pnNeeded, IES_ext_channel_switch_action_frame);
+ return status;
+} /* End dot11fGetPackedext_channel_switch_action_frameSize. */
+
static tANI_U32 GetPackedSizeCore(tpAniSirGlobal pCtx,
tANI_U8 *pFrm,
tANI_U32 *pnNeeded,
@@ -21644,13 +21708,13 @@ void dot11fPackFfAddBAParameterSet(tpAniSirGlobal pCtx,
tDot11fFfAddBAParameterSet *pSrc,
tANI_U8 *pBuf)
{
- tANI_U16 tmp69__;
- tmp69__ = 0U;
- tmp69__ |= ( pSrc->amsduSupported << 0 );
- tmp69__ |= ( pSrc->policy << 1 );
- tmp69__ |= ( pSrc->tid << 2 );
- tmp69__ |= ( pSrc->bufferSize << 6 );
- frameshtons(pCtx, pBuf, tmp69__, 0);
+ tANI_U16 tmp70__;
+ tmp70__ = 0U;
+ tmp70__ |= ( pSrc->amsduSupported << 0 );
+ tmp70__ |= ( pSrc->policy << 1 );
+ tmp70__ |= ( pSrc->tid << 2 );
+ tmp70__ |= ( pSrc->bufferSize << 6 );
+ frameshtons(pCtx, pBuf, tmp70__, 0);
(void)pCtx;
} /* End dot11fPackFfAddBAParameterSet. */
@@ -21674,11 +21738,11 @@ void dot11fPackFfBAStartingSequenceControl(tpAniSirGlobal pCtx,
tDot11fFfBAStartingSequenceControl *pSrc,
tANI_U8 *pBuf)
{
- tANI_U16 tmp70__;
- tmp70__ = 0U;
- tmp70__ |= ( pSrc->fragNumber << 0 );
- tmp70__ |= ( pSrc->ssn << 4 );
- frameshtons(pCtx, pBuf, tmp70__, 0);
+ tANI_U16 tmp71__;
+ tmp71__ = 0U;
+ tmp71__ |= ( pSrc->fragNumber << 0 );
+ tmp71__ |= ( pSrc->ssn << 4 );
+ frameshtons(pCtx, pBuf, tmp71__, 0);
(void)pCtx;
} /* End dot11fPackFfBAStartingSequenceControl. */
@@ -21702,25 +21766,25 @@ void dot11fPackFfCapabilities(tpAniSirGlobal pCtx,
tDot11fFfCapabilities *pSrc,
tANI_U8 *pBuf)
{
- tANI_U16 tmp71__;
- tmp71__ = 0U;
- tmp71__ |= ( pSrc->ess << 0 );
- tmp71__ |= ( pSrc->ibss << 1 );
- tmp71__ |= ( pSrc->cfPollable << 2 );
- tmp71__ |= ( pSrc->cfPollReq << 3 );
- tmp71__ |= ( pSrc->privacy << 4 );
- tmp71__ |= ( pSrc->shortPreamble << 5 );
- tmp71__ |= ( pSrc->pbcc << 6 );
- tmp71__ |= ( pSrc->channelAgility << 7 );
- tmp71__ |= ( pSrc->spectrumMgt << 8 );
- tmp71__ |= ( pSrc->qos << 9 );
- tmp71__ |= ( pSrc->shortSlotTime << 10 );
- tmp71__ |= ( pSrc->apsd << 11 );
- tmp71__ |= ( pSrc->rrm << 12 );
- tmp71__ |= ( pSrc->dsssOfdm << 13 );
- tmp71__ |= ( pSrc->delayedBA << 14 );
- tmp71__ |= ( pSrc->immediateBA << 15 );
- frameshtons(pCtx, pBuf, tmp71__, 0);
+ tANI_U16 tmp72__;
+ tmp72__ = 0U;
+ tmp72__ |= ( pSrc->ess << 0 );
+ tmp72__ |= ( pSrc->ibss << 1 );
+ tmp72__ |= ( pSrc->cfPollable << 2 );
+ tmp72__ |= ( pSrc->cfPollReq << 3 );
+ tmp72__ |= ( pSrc->privacy << 4 );
+ tmp72__ |= ( pSrc->shortPreamble << 5 );
+ tmp72__ |= ( pSrc->pbcc << 6 );
+ tmp72__ |= ( pSrc->channelAgility << 7 );
+ tmp72__ |= ( pSrc->spectrumMgt << 8 );
+ tmp72__ |= ( pSrc->qos << 9 );
+ tmp72__ |= ( pSrc->shortSlotTime << 10 );
+ tmp72__ |= ( pSrc->apsd << 11 );
+ tmp72__ |= ( pSrc->rrm << 12 );
+ tmp72__ |= ( pSrc->dsssOfdm << 13 );
+ tmp72__ |= ( pSrc->delayedBA << 14 );
+ tmp72__ |= ( pSrc->immediateBA << 15 );
+ frameshtons(pCtx, pBuf, tmp72__, 0);
(void)pCtx;
} /* End dot11fPackFfCapabilities. */
@@ -21744,12 +21808,12 @@ void dot11fPackFfDelBAParameterSet(tpAniSirGlobal pCtx,
tDot11fFfDelBAParameterSet *pSrc,
tANI_U8 *pBuf)
{
- tANI_U16 tmp72__;
- tmp72__ = 0U;
- tmp72__ |= ( pSrc->reserved << 0 );
- tmp72__ |= ( pSrc->initiator << 11 );
- tmp72__ |= ( pSrc->tid << 12 );
- frameshtons(pCtx, pBuf, tmp72__, 0);
+ tANI_U16 tmp73__;
+ tmp73__ = 0U;
+ tmp73__ |= ( pSrc->reserved << 0 );
+ tmp73__ |= ( pSrc->initiator << 11 );
+ tmp73__ |= ( pSrc->tid << 12 );
+ frameshtons(pCtx, pBuf, tmp73__, 0);
(void)pCtx;
} /* End dot11fPackFfDelBAParameterSet. */
@@ -21797,13 +21861,13 @@ void dot11fPackFfOperatingMode(tpAniSirGlobal pCtx,
tDot11fFfOperatingMode *pSrc,
tANI_U8 *pBuf)
{
- tANI_U8 tmp73__;
- tmp73__ = 0U;
- tmp73__ |= ( pSrc->chanWidth << 0 );
- tmp73__ |= ( pSrc->reserved << 2 );
- tmp73__ |= ( pSrc->rxNSS << 4 );
- tmp73__ |= ( pSrc->rxNSSType << 7 );
- *pBuf = tmp73__;
+ tANI_U8 tmp74__;
+ tmp74__ = 0U;
+ tmp74__ |= ( pSrc->chanWidth << 0 );
+ tmp74__ |= ( pSrc->reserved << 2 );
+ tmp74__ |= ( pSrc->rxNSS << 4 );
+ tmp74__ |= ( pSrc->rxNSSType << 7 );
+ *pBuf = tmp74__;
(void)pCtx;
} /* End dot11fPackFfOperatingMode. */
@@ -21859,12 +21923,12 @@ void dot11fPackFfSMPowerModeSet(tpAniSirGlobal pCtx,
tDot11fFfSMPowerModeSet *pSrc,
tANI_U8 *pBuf)
{
- tANI_U8 tmp74__;
- tmp74__ = 0U;
- tmp74__ |= ( pSrc->PowerSave_En << 0 );
- tmp74__ |= ( pSrc->Mode << 1 );
- tmp74__ |= ( pSrc->reserved << 2 );
- *pBuf = tmp74__;
+ tANI_U8 tmp75__;
+ tmp75__ = 0U;
+ tmp75__ |= ( pSrc->PowerSave_En << 0 );
+ tmp75__ |= ( pSrc->Mode << 1 );
+ tmp75__ |= ( pSrc->reserved << 2 );
+ *pBuf = tmp75__;
(void)pCtx;
} /* End dot11fPackFfSMPowerModeSet. */
@@ -21904,19 +21968,19 @@ void dot11fPackFfTSInfo(tpAniSirGlobal pCtx,
tDot11fFfTSInfo *pSrc,
tANI_U8 *pBuf)
{
- tANI_U32 tmp75__;
- tmp75__ = 0U;
- tmp75__ |= ( pSrc->traffic_type << 0 );
- tmp75__ |= ( pSrc->tsid << 1 );
- tmp75__ |= ( pSrc->direction << 5 );
- tmp75__ |= ( pSrc->access_policy << 7 );
- tmp75__ |= ( pSrc->aggregation << 9 );
- tmp75__ |= ( pSrc->psb << 10 );
- tmp75__ |= ( pSrc->user_priority << 11 );
- tmp75__ |= ( pSrc->tsinfo_ack_pol << 14 );
- tmp75__ |= ( pSrc->schedule << 16 );
- tmp75__ |= ( pSrc->unused << 17 );
- frameshtonl(pCtx, pBuf, tmp75__, 0);
+ tANI_U32 tmp76__;
+ tmp76__ = 0U;
+ tmp76__ |= ( pSrc->traffic_type << 0 );
+ tmp76__ |= ( pSrc->tsid << 1 );
+ tmp76__ |= ( pSrc->direction << 5 );
+ tmp76__ |= ( pSrc->access_policy << 7 );
+ tmp76__ |= ( pSrc->aggregation << 9 );
+ tmp76__ |= ( pSrc->psb << 10 );
+ tmp76__ |= ( pSrc->user_priority << 11 );
+ tmp76__ |= ( pSrc->tsinfo_ack_pol << 14 );
+ tmp76__ |= ( pSrc->schedule << 16 );
+ tmp76__ |= ( pSrc->unused << 17 );
+ frameshtonl(pCtx, pBuf, tmp76__, 0);
(void)pCtx;
} /* End dot11fPackFfTSInfo. */
@@ -21968,6 +22032,20 @@ void dot11fPackFfVhtUserPositionArray(tpAniSirGlobal pCtx,
(void)pCtx;
} /* End dot11fPackFfVhtUserPositionArray. */
+void dot11fPackFfext_chan_switch_ann_action(tpAniSirGlobal pCtx,
+ tDot11fFfext_chan_switch_ann_action *pSrc,
+ tANI_U8 *pBuf)
+{
+ tANI_U32 tmp77__;
+ tmp77__ = 0U;
+ tmp77__ |= ( pSrc->switch_mode << 0 );
+ tmp77__ |= ( pSrc->op_class << 8 );
+ tmp77__ |= ( pSrc->new_channel << 16 );
+ tmp77__ |= ( pSrc->switch_count << 24 );
+ frameshtonl(pCtx, pBuf, tmp77__, 0);
+ (void)pCtx;
+} /* End dot11fPackFfext_chan_switch_ann_action. */
+
tANI_U32 dot11fPackTlvAuthorizedMACs(tpAniSirGlobal pCtx,
tDot11fTLVAuthorizedMACs *pSrc,
tANI_U8 *pBuf,
@@ -22037,7 +22115,7 @@ tANI_U32 dot11fPackTlvVersion2(tpAniSirGlobal pCtx,
tANI_U8* pTlvLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp76__;
+ tANI_U8 tmp78__;
nNeeded += 3;
if ( nNeeded > nBuf ) return DOT11F_BUFFER_OVERFLOW;
while ( pSrc->present )
@@ -22046,10 +22124,10 @@ tANI_U32 dot11fPackTlvVersion2(tpAniSirGlobal pCtx,
pBuf += 1; *pnConsumed += 1;
pTlvLen = pBuf;
pBuf += 1; *pnConsumed += 1;
- tmp76__ = 0U;
- tmp76__ |= ( pSrc->minor << 0 );
- tmp76__ |= ( pSrc->major << 4 );
- *pBuf = tmp76__;
+ tmp78__ = 0U;
+ tmp78__ |= ( pSrc->minor << 0 );
+ tmp78__ |= ( pSrc->major << 4 );
+ *pBuf = tmp78__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -23258,7 +23336,7 @@ tANI_U32 dot11fPackTlvVersion(tpAniSirGlobal pCtx,
tANI_U8* pTlvLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp77__;
+ tANI_U8 tmp79__;
nNeeded += 5;
if ( nNeeded > nBuf ) return DOT11F_BUFFER_OVERFLOW;
while ( pSrc->present )
@@ -23267,10 +23345,10 @@ tANI_U32 dot11fPackTlvVersion(tpAniSirGlobal pCtx,
pBuf += 2; *pnConsumed += 2;
pTlvLen = pBuf;
pBuf += 2; *pnConsumed += 2;
- tmp77__ = 0U;
- tmp77__ |= ( pSrc->minor << 0 );
- tmp77__ |= ( pSrc->major << 4 );
- *pBuf = tmp77__;
+ tmp79__ = 0U;
+ tmp79__ |= ( pSrc->minor << 0 );
+ tmp79__ |= ( pSrc->major << 4 );
+ *pBuf = tmp79__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -23413,7 +23491,7 @@ tANI_U32 dot11fPackIeGTK(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U16 tmp78__;
+ tANI_U16 tmp80__;
nNeeded += (pSrc->num_key + 11);
while ( pSrc->present )
{
@@ -23422,10 +23500,10 @@ tANI_U32 dot11fPackIeGTK(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp78__ = 0U;
- tmp78__ |= ( pSrc->keyId << 0 );
- tmp78__ |= ( pSrc->reserved << 2 );
- frameshtons(pCtx, pBuf, tmp78__, 0);
+ tmp80__ = 0U;
+ tmp80__ |= ( pSrc->keyId << 0 );
+ tmp80__ |= ( pSrc->reserved << 2 );
+ frameshtons(pCtx, pBuf, tmp80__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -23850,11 +23928,11 @@ tANI_U32 dot11fPackIeRRMEnabledCap(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp79__;
- tANI_U8 tmp80__;
tANI_U8 tmp81__;
tANI_U8 tmp82__;
tANI_U8 tmp83__;
+ tANI_U8 tmp84__;
+ tANI_U8 tmp85__;
nNeeded += 5;
while ( pSrc->present )
{
@@ -23863,58 +23941,58 @@ tANI_U32 dot11fPackIeRRMEnabledCap(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp79__ = 0U;
- tmp79__ |= ( pSrc->LinkMeasurement << 0 );
- tmp79__ |= ( pSrc->NeighborRpt << 1 );
- tmp79__ |= ( pSrc->parallel << 2 );
- tmp79__ |= ( pSrc->repeated << 3 );
- tmp79__ |= ( pSrc->BeaconPassive << 4 );
- tmp79__ |= ( pSrc->BeaconActive << 5 );
- tmp79__ |= ( pSrc->BeaconTable << 6 );
- tmp79__ |= ( pSrc->BeaconRepCond << 7 );
- *pBuf = tmp79__;
- *pnConsumed += 1;
- pBuf += 1;
- nBuf -= 1 ;
- tmp80__ = 0U;
- tmp80__ |= ( pSrc->FrameMeasurement << 0 );
- tmp80__ |= ( pSrc->ChannelLoad << 1 );
- tmp80__ |= ( pSrc->NoiseHistogram << 2 );
- tmp80__ |= ( pSrc->statistics << 3 );
- tmp80__ |= ( pSrc->LCIMeasurement << 4 );
- tmp80__ |= ( pSrc->LCIAzimuth << 5 );
- tmp80__ |= ( pSrc->TCMCapability << 6 );
- tmp80__ |= ( pSrc->triggeredTCM << 7 );
- *pBuf = tmp80__;
- *pnConsumed += 1;
- pBuf += 1;
- nBuf -= 1 ;
tmp81__ = 0U;
- tmp81__ |= ( pSrc->APChanReport << 0 );
- tmp81__ |= ( pSrc->RRMMIBEnabled << 1 );
- tmp81__ |= ( pSrc->operatingChanMax << 2 );
- tmp81__ |= ( pSrc->nonOperatinChanMax << 5 );
+ tmp81__ |= ( pSrc->LinkMeasurement << 0 );
+ tmp81__ |= ( pSrc->NeighborRpt << 1 );
+ tmp81__ |= ( pSrc->parallel << 2 );
+ tmp81__ |= ( pSrc->repeated << 3 );
+ tmp81__ |= ( pSrc->BeaconPassive << 4 );
+ tmp81__ |= ( pSrc->BeaconActive << 5 );
+ tmp81__ |= ( pSrc->BeaconTable << 6 );
+ tmp81__ |= ( pSrc->BeaconRepCond << 7 );
*pBuf = tmp81__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp82__ = 0U;
- tmp82__ |= ( pSrc->MeasurementPilot << 0 );
- tmp82__ |= ( pSrc->MeasurementPilotEnabled << 3 );
- tmp82__ |= ( pSrc->NeighborTSFOffset << 4 );
- tmp82__ |= ( pSrc->RCPIMeasurement << 5 );
- tmp82__ |= ( pSrc->RSNIMeasurement << 6 );
- tmp82__ |= ( pSrc->BssAvgAccessDelay << 7 );
+ tmp82__ |= ( pSrc->FrameMeasurement << 0 );
+ tmp82__ |= ( pSrc->ChannelLoad << 1 );
+ tmp82__ |= ( pSrc->NoiseHistogram << 2 );
+ tmp82__ |= ( pSrc->statistics << 3 );
+ tmp82__ |= ( pSrc->LCIMeasurement << 4 );
+ tmp82__ |= ( pSrc->LCIAzimuth << 5 );
+ tmp82__ |= ( pSrc->TCMCapability << 6 );
+ tmp82__ |= ( pSrc->triggeredTCM << 7 );
*pBuf = tmp82__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp83__ = 0U;
- tmp83__ |= ( pSrc->BSSAvailAdmission << 0 );
- tmp83__ |= ( pSrc->AntennaInformation << 1 );
- tmp83__ |= ( pSrc->reserved << 2 );
+ tmp83__ |= ( pSrc->APChanReport << 0 );
+ tmp83__ |= ( pSrc->RRMMIBEnabled << 1 );
+ tmp83__ |= ( pSrc->operatingChanMax << 2 );
+ tmp83__ |= ( pSrc->nonOperatinChanMax << 5 );
*pBuf = tmp83__;
*pnConsumed += 1;
+ pBuf += 1;
+ nBuf -= 1 ;
+ tmp84__ = 0U;
+ tmp84__ |= ( pSrc->MeasurementPilot << 0 );
+ tmp84__ |= ( pSrc->MeasurementPilotEnabled << 3 );
+ tmp84__ |= ( pSrc->NeighborTSFOffset << 4 );
+ tmp84__ |= ( pSrc->RCPIMeasurement << 5 );
+ tmp84__ |= ( pSrc->RSNIMeasurement << 6 );
+ tmp84__ |= ( pSrc->BssAvgAccessDelay << 7 );
+ *pBuf = tmp84__;
+ *pnConsumed += 1;
+ pBuf += 1;
+ nBuf -= 1 ;
+ tmp85__ = 0U;
+ tmp85__ |= ( pSrc->BSSAvailAdmission << 0 );
+ tmp85__ |= ( pSrc->AntennaInformation << 1 );
+ tmp85__ |= ( pSrc->reserved << 2 );
+ *pBuf = tmp85__;
+ *pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
break;
@@ -23996,7 +24074,7 @@ tANI_U32 dot11fPackIeSchedule(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U16 tmp84__;
+ tANI_U16 tmp86__;
nNeeded += 14;
while ( pSrc->present )
{
@@ -24005,12 +24083,12 @@ tANI_U32 dot11fPackIeSchedule(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp84__ = 0U;
- tmp84__ |= ( pSrc->aggregation << 0 );
- tmp84__ |= ( pSrc->tsid << 1 );
- tmp84__ |= ( pSrc->direction << 5 );
- tmp84__ |= ( pSrc->reserved << 7 );
- frameshtons(pCtx, pBuf, tmp84__, 0);
+ tmp86__ = 0U;
+ tmp86__ |= ( pSrc->aggregation << 0 );
+ tmp86__ |= ( pSrc->tsid << 1 );
+ tmp86__ |= ( pSrc->direction << 5 );
+ tmp86__ |= ( pSrc->reserved << 7 );
+ frameshtons(pCtx, pBuf, tmp86__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -24210,9 +24288,9 @@ tANI_U32 dot11fPackIeTSPEC(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U16 tmp85__;
- tANI_U8 tmp86__;
tANI_U16 tmp87__;
+ tANI_U8 tmp88__;
+ tANI_U16 tmp89__;
nNeeded += 55;
while ( pSrc->present )
{
@@ -24221,30 +24299,30 @@ tANI_U32 dot11fPackIeTSPEC(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp85__ = 0U;
- tmp85__ |= ( pSrc->traffic_type << 0 );
- tmp85__ |= ( pSrc->tsid << 1 );
- tmp85__ |= ( pSrc->direction << 5 );
- tmp85__ |= ( pSrc->access_policy << 7 );
- tmp85__ |= ( pSrc->aggregation << 9 );
- tmp85__ |= ( pSrc->psb << 10 );
- tmp85__ |= ( pSrc->user_priority << 11 );
- tmp85__ |= ( pSrc->tsinfo_ack_pol << 14 );
- frameshtons(pCtx, pBuf, tmp85__, 0);
+ tmp87__ = 0U;
+ tmp87__ |= ( pSrc->traffic_type << 0 );
+ tmp87__ |= ( pSrc->tsid << 1 );
+ tmp87__ |= ( pSrc->direction << 5 );
+ tmp87__ |= ( pSrc->access_policy << 7 );
+ tmp87__ |= ( pSrc->aggregation << 9 );
+ tmp87__ |= ( pSrc->psb << 10 );
+ tmp87__ |= ( pSrc->user_priority << 11 );
+ tmp87__ |= ( pSrc->tsinfo_ack_pol << 14 );
+ frameshtons(pCtx, pBuf, tmp87__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp86__ = 0U;
- tmp86__ |= ( pSrc->schedule << 0 );
- tmp86__ |= ( pSrc->unused << 1 );
- *pBuf = tmp86__;
+ tmp88__ = 0U;
+ tmp88__ |= ( pSrc->schedule << 0 );
+ tmp88__ |= ( pSrc->unused << 1 );
+ *pBuf = tmp88__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp87__ = 0U;
- tmp87__ |= ( pSrc->size << 0 );
- tmp87__ |= ( pSrc->fixed << 15 );
- frameshtons(pCtx, pBuf, tmp87__, 0);
+ tmp89__ = 0U;
+ tmp89__ |= ( pSrc->size << 0 );
+ tmp89__ |= ( pSrc->fixed << 15 );
+ frameshtons(pCtx, pBuf, tmp89__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -24309,7 +24387,7 @@ tANI_U32 dot11fPackIeWMMSchedule(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U16 tmp88__;
+ tANI_U16 tmp90__;
nNeeded += 15;
while ( pSrc->present )
{
@@ -24331,12 +24409,12 @@ tANI_U32 dot11fPackIeWMMSchedule(tpAniSirGlobal pCtx,
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp88__ = 0U;
- tmp88__ |= ( pSrc->aggregation << 0 );
- tmp88__ |= ( pSrc->tsid << 1 );
- tmp88__ |= ( pSrc->direction << 5 );
- tmp88__ |= ( pSrc->reserved << 7 );
- frameshtons(pCtx, pBuf, tmp88__, 0);
+ tmp90__ = 0U;
+ tmp90__ |= ( pSrc->aggregation << 0 );
+ tmp90__ |= ( pSrc->tsid << 1 );
+ tmp90__ |= ( pSrc->direction << 5 );
+ tmp90__ |= ( pSrc->reserved << 7 );
+ frameshtons(pCtx, pBuf, tmp90__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -24575,9 +24653,9 @@ tANI_U32 dot11fPackIeWMMTSPEC(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U16 tmp89__;
- tANI_U8 tmp90__;
tANI_U16 tmp91__;
+ tANI_U8 tmp92__;
+ tANI_U16 tmp93__;
nNeeded += 38;
while ( pSrc->present )
{
@@ -24599,30 +24677,30 @@ tANI_U32 dot11fPackIeWMMTSPEC(tpAniSirGlobal pCtx,
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp89__ = 0U;
- tmp89__ |= ( pSrc->traffic_type << 0 );
- tmp89__ |= ( pSrc->tsid << 1 );
- tmp89__ |= ( pSrc->direction << 5 );
- tmp89__ |= ( pSrc->access_policy << 7 );
- tmp89__ |= ( pSrc->aggregation << 9 );
- tmp89__ |= ( pSrc->psb << 10 );
- tmp89__ |= ( pSrc->user_priority << 11 );
- tmp89__ |= ( pSrc->tsinfo_ack_pol << 14 );
- frameshtons(pCtx, pBuf, tmp89__, 0);
+ tmp91__ = 0U;
+ tmp91__ |= ( pSrc->traffic_type << 0 );
+ tmp91__ |= ( pSrc->tsid << 1 );
+ tmp91__ |= ( pSrc->direction << 5 );
+ tmp91__ |= ( pSrc->access_policy << 7 );
+ tmp91__ |= ( pSrc->aggregation << 9 );
+ tmp91__ |= ( pSrc->psb << 10 );
+ tmp91__ |= ( pSrc->user_priority << 11 );
+ tmp91__ |= ( pSrc->tsinfo_ack_pol << 14 );
+ frameshtons(pCtx, pBuf, tmp91__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp90__ = 0U;
- tmp90__ |= ( pSrc->tsinfo_rsvd << 0 );
- tmp90__ |= ( pSrc->burst_size_defn << 7 );
- *pBuf = tmp90__;
+ tmp92__ = 0U;
+ tmp92__ |= ( pSrc->tsinfo_rsvd << 0 );
+ tmp92__ |= ( pSrc->burst_size_defn << 7 );
+ *pBuf = tmp92__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp91__ = 0U;
- tmp91__ |= ( pSrc->size << 0 );
- tmp91__ |= ( pSrc->fixed << 15 );
- frameshtons(pCtx, pBuf, tmp91__, 0);
+ tmp93__ = 0U;
+ tmp93__ |= ( pSrc->size << 0 );
+ tmp93__ |= ( pSrc->fixed << 15 );
+ frameshtons(pCtx, pBuf, tmp93__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -24962,14 +25040,14 @@ tANI_U32 dot11fPackIeEDCAParamSet(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp92__;
- tANI_U8 tmp93__;
tANI_U8 tmp94__;
tANI_U8 tmp95__;
tANI_U8 tmp96__;
tANI_U8 tmp97__;
tANI_U8 tmp98__;
tANI_U8 tmp99__;
+ tANI_U8 tmp100__;
+ tANI_U8 tmp101__;
nNeeded += 18;
while ( pSrc->present )
{
@@ -24984,79 +25062,79 @@ tANI_U32 dot11fPackIeEDCAParamSet(tpAniSirGlobal pCtx,
*pBuf = pSrc->reserved;
*pnConsumed += 1;
pBuf += 1;
- tmp92__ = 0U;
- tmp92__ |= ( pSrc->acbe_aifsn << 0 );
- tmp92__ |= ( pSrc->acbe_acm << 4 );
- tmp92__ |= ( pSrc->acbe_aci << 5 );
- tmp92__ |= ( pSrc->unused1 << 7 );
- *pBuf = tmp92__;
- *pnConsumed += 1;
- pBuf += 1;
- nBuf -= 1 ;
- tmp93__ = 0U;
- tmp93__ |= ( pSrc->acbe_acwmin << 0 );
- tmp93__ |= ( pSrc->acbe_acwmax << 4 );
- *pBuf = tmp93__;
- *pnConsumed += 1;
- pBuf += 1;
- nBuf -= 1 ;
- frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
- *pnConsumed += 2;
- pBuf += 2;
tmp94__ = 0U;
- tmp94__ |= ( pSrc->acbk_aifsn << 0 );
- tmp94__ |= ( pSrc->acbk_acm << 4 );
- tmp94__ |= ( pSrc->acbk_aci << 5 );
- tmp94__ |= ( pSrc->unused2 << 7 );
+ tmp94__ |= ( pSrc->acbe_aifsn << 0 );
+ tmp94__ |= ( pSrc->acbe_acm << 4 );
+ tmp94__ |= ( pSrc->acbe_aci << 5 );
+ tmp94__ |= ( pSrc->unused1 << 7 );
*pBuf = tmp94__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp95__ = 0U;
- tmp95__ |= ( pSrc->acbk_acwmin << 0 );
- tmp95__ |= ( pSrc->acbk_acwmax << 4 );
+ tmp95__ |= ( pSrc->acbe_acwmin << 0 );
+ tmp95__ |= ( pSrc->acbe_acwmax << 4 );
*pBuf = tmp95__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
+ frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
tmp96__ = 0U;
- tmp96__ |= ( pSrc->acvi_aifsn << 0 );
- tmp96__ |= ( pSrc->acvi_acm << 4 );
- tmp96__ |= ( pSrc->acvi_aci << 5 );
- tmp96__ |= ( pSrc->unused3 << 7 );
+ tmp96__ |= ( pSrc->acbk_aifsn << 0 );
+ tmp96__ |= ( pSrc->acbk_acm << 4 );
+ tmp96__ |= ( pSrc->acbk_aci << 5 );
+ tmp96__ |= ( pSrc->unused2 << 7 );
*pBuf = tmp96__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp97__ = 0U;
- tmp97__ |= ( pSrc->acvi_acwmin << 0 );
- tmp97__ |= ( pSrc->acvi_acwmax << 4 );
+ tmp97__ |= ( pSrc->acbk_acwmin << 0 );
+ tmp97__ |= ( pSrc->acbk_acwmax << 4 );
*pBuf = tmp97__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
+ frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
tmp98__ = 0U;
- tmp98__ |= ( pSrc->acvo_aifsn << 0 );
- tmp98__ |= ( pSrc->acvo_acm << 4 );
- tmp98__ |= ( pSrc->acvo_aci << 5 );
- tmp98__ |= ( pSrc->unused4 << 7 );
+ tmp98__ |= ( pSrc->acvi_aifsn << 0 );
+ tmp98__ |= ( pSrc->acvi_acm << 4 );
+ tmp98__ |= ( pSrc->acvi_aci << 5 );
+ tmp98__ |= ( pSrc->unused3 << 7 );
*pBuf = tmp98__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp99__ = 0U;
- tmp99__ |= ( pSrc->acvo_acwmin << 0 );
- tmp99__ |= ( pSrc->acvo_acwmax << 4 );
+ tmp99__ |= ( pSrc->acvi_acwmin << 0 );
+ tmp99__ |= ( pSrc->acvi_acwmax << 4 );
*pBuf = tmp99__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
+ frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
+ *pnConsumed += 2;
+ pBuf += 2;
+ tmp100__ = 0U;
+ tmp100__ |= ( pSrc->acvo_aifsn << 0 );
+ tmp100__ |= ( pSrc->acvo_acm << 4 );
+ tmp100__ |= ( pSrc->acvo_aci << 5 );
+ tmp100__ |= ( pSrc->unused4 << 7 );
+ *pBuf = tmp100__;
+ *pnConsumed += 1;
+ pBuf += 1;
+ nBuf -= 1 ;
+ tmp101__ = 0U;
+ tmp101__ |= ( pSrc->acvo_acwmin << 0 );
+ tmp101__ |= ( pSrc->acvo_acwmax << 4 );
+ *pBuf = tmp101__;
+ *pnConsumed += 1;
+ pBuf += 1;
+ nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acvo_txoplimit, 0);
*pnConsumed += 2;
// fieldsEndFlag = 1
@@ -25079,7 +25157,7 @@ tANI_U32 dot11fPackIeERPInfo(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp100__;
+ tANI_U8 tmp102__;
nNeeded += 1;
while ( pSrc->present )
{
@@ -25088,12 +25166,12 @@ tANI_U32 dot11fPackIeERPInfo(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp100__ = 0U;
- tmp100__ |= ( pSrc->non_erp_present << 0 );
- tmp100__ |= ( pSrc->use_prot << 1 );
- tmp100__ |= ( pSrc->barker_preamble << 2 );
- tmp100__ |= ( pSrc->unused << 3 );
- *pBuf = tmp100__;
+ tmp102__ = 0U;
+ tmp102__ |= ( pSrc->non_erp_present << 0 );
+ tmp102__ |= ( pSrc->use_prot << 1 );
+ tmp102__ |= ( pSrc->barker_preamble << 2 );
+ tmp102__ |= ( pSrc->unused << 3 );
+ *pBuf = tmp102__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -25154,7 +25232,7 @@ tANI_U32 dot11fPackIeESERadMgmtCap(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp101__;
+ tANI_U8 tmp103__;
nNeeded += 2;
while ( pSrc->present )
{
@@ -25174,10 +25252,10 @@ tANI_U32 dot11fPackIeESERadMgmtCap(tpAniSirGlobal pCtx,
*pBuf = pSrc->mgmt_state;
*pnConsumed += 1;
pBuf += 1;
- tmp101__ = 0U;
- tmp101__ |= ( pSrc->mbssid_mask << 0 );
- tmp101__ |= ( pSrc->reserved << 3 );
- *pBuf = tmp101__;
+ tmp103__ = 0U;
+ tmp103__ |= ( pSrc->mbssid_mask << 0 );
+ tmp103__ |= ( pSrc->reserved << 3 );
+ *pBuf = tmp103__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -25538,7 +25616,7 @@ tANI_U32 dot11fPackIeFTInfo(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U16 tmp102__;
+ tANI_U16 tmp104__;
tANI_U32 status = DOT11F_PARSE_SUCCESS;
status = dot11fGetPackedIEFTInfo(pCtx, pSrc, &nNeeded);
if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -25549,10 +25627,10 @@ tANI_U32 dot11fPackIeFTInfo(tpAniSirGlobal pCtx,
++pBuf; --nBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; --nBuf; ++(*pnConsumed);
- tmp102__ = 0U;
- tmp102__ |= ( pSrc->reserved << 0 );
- tmp102__ |= ( pSrc->IECount << 8 );
- frameshtons(pCtx, pBuf, tmp102__, 0);
+ tmp104__ = 0U;
+ tmp104__ |= ( pSrc->reserved << 0 );
+ tmp104__ |= ( pSrc->IECount << 8 );
+ frameshtons(pCtx, pBuf, tmp104__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -25591,7 +25669,7 @@ tANI_U32 dot11fPackIeHT2040BSSCoexistence(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp103__;
+ tANI_U8 tmp105__;
nNeeded += 1;
while ( pSrc->present )
{
@@ -25600,14 +25678,14 @@ tANI_U32 dot11fPackIeHT2040BSSCoexistence(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp103__ = 0U;
- tmp103__ |= ( pSrc->infoRequest << 0 );
- tmp103__ |= ( pSrc->fortyMHzIntolerant << 1 );
- tmp103__ |= ( pSrc->twentyMHzBssWidthReq << 2 );
- tmp103__ |= ( pSrc->obssScanExemptionReq << 3 );
- tmp103__ |= ( pSrc->obssScanExemptionGrant << 4 );
- tmp103__ |= ( pSrc->unused << 5 );
- *pBuf = tmp103__;
+ tmp105__ = 0U;
+ tmp105__ |= ( pSrc->infoRequest << 0 );
+ tmp105__ |= ( pSrc->fortyMHzIntolerant << 1 );
+ tmp105__ |= ( pSrc->twentyMHzBssWidthReq << 2 );
+ tmp105__ |= ( pSrc->obssScanExemptionReq << 3 );
+ tmp105__ |= ( pSrc->obssScanExemptionGrant << 4 );
+ tmp105__ |= ( pSrc->unused << 5 );
+ *pBuf = tmp105__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -25663,11 +25741,11 @@ tANI_U32 dot11fPackIeHTCaps(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U16 tmp104__;
- tANI_U8 tmp105__;
tANI_U16 tmp106__;
- tANI_U32 tmp107__;
- tANI_U8 tmp108__;
+ tANI_U8 tmp107__;
+ tANI_U16 tmp108__;
+ tANI_U32 tmp109__;
+ tANI_U8 tmp110__;
nNeeded += (pSrc->num_rsvd + 26);
while ( pSrc->present )
{
@@ -25676,77 +25754,77 @@ tANI_U32 dot11fPackIeHTCaps(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp104__ = 0U;
- tmp104__ |= ( pSrc->advCodingCap << 0 );
- tmp104__ |= ( pSrc->supportedChannelWidthSet << 1 );
- tmp104__ |= ( pSrc->mimoPowerSave << 2 );
- tmp104__ |= ( pSrc->greenField << 4 );
- tmp104__ |= ( pSrc->shortGI20MHz << 5 );
- tmp104__ |= ( pSrc->shortGI40MHz << 6 );
- tmp104__ |= ( pSrc->txSTBC << 7 );
- tmp104__ |= ( pSrc->rxSTBC << 8 );
- tmp104__ |= ( pSrc->delayedBA << 10 );
- tmp104__ |= ( pSrc->maximalAMSDUsize << 11 );
- tmp104__ |= ( pSrc->dsssCckMode40MHz << 12 );
- tmp104__ |= ( pSrc->psmp << 13 );
- tmp104__ |= ( pSrc->stbcControlFrame << 14 );
- tmp104__ |= ( pSrc->lsigTXOPProtection << 15 );
- frameshtons(pCtx, pBuf, tmp104__, 0);
+ tmp106__ = 0U;
+ tmp106__ |= ( pSrc->advCodingCap << 0 );
+ tmp106__ |= ( pSrc->supportedChannelWidthSet << 1 );
+ tmp106__ |= ( pSrc->mimoPowerSave << 2 );
+ tmp106__ |= ( pSrc->greenField << 4 );
+ tmp106__ |= ( pSrc->shortGI20MHz << 5 );
+ tmp106__ |= ( pSrc->shortGI40MHz << 6 );
+ tmp106__ |= ( pSrc->txSTBC << 7 );
+ tmp106__ |= ( pSrc->rxSTBC << 8 );
+ tmp106__ |= ( pSrc->delayedBA << 10 );
+ tmp106__ |= ( pSrc->maximalAMSDUsize << 11 );
+ tmp106__ |= ( pSrc->dsssCckMode40MHz << 12 );
+ tmp106__ |= ( pSrc->psmp << 13 );
+ tmp106__ |= ( pSrc->stbcControlFrame << 14 );
+ tmp106__ |= ( pSrc->lsigTXOPProtection << 15 );
+ frameshtons(pCtx, pBuf, tmp106__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp105__ = 0U;
- tmp105__ |= ( pSrc->maxRxAMPDUFactor << 0 );
- tmp105__ |= ( pSrc->mpduDensity << 2 );
- tmp105__ |= ( pSrc->reserved1 << 5 );
- *pBuf = tmp105__;
+ tmp107__ = 0U;
+ tmp107__ |= ( pSrc->maxRxAMPDUFactor << 0 );
+ tmp107__ |= ( pSrc->mpduDensity << 2 );
+ tmp107__ |= ( pSrc->reserved1 << 5 );
+ *pBuf = tmp107__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
DOT11F_MEMCPY(pCtx, pBuf, pSrc->supportedMCSSet, 16);
*pnConsumed += 16;
pBuf += 16;
- tmp106__ = 0U;
- tmp106__ |= ( pSrc->pco << 0 );
- tmp106__ |= ( pSrc->transitionTime << 1 );
- tmp106__ |= ( pSrc->reserved2 << 3 );
- tmp106__ |= ( pSrc->mcsFeedback << 8 );
- tmp106__ |= ( pSrc->reserved3 << 10 );
- frameshtons(pCtx, pBuf, tmp106__, 0);
+ tmp108__ = 0U;
+ tmp108__ |= ( pSrc->pco << 0 );
+ tmp108__ |= ( pSrc->transitionTime << 1 );
+ tmp108__ |= ( pSrc->reserved2 << 3 );
+ tmp108__ |= ( pSrc->mcsFeedback << 8 );
+ tmp108__ |= ( pSrc->reserved3 << 10 );
+ frameshtons(pCtx, pBuf, tmp108__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp107__ = 0U;
- tmp107__ |= ( pSrc->txBF << 0 );
- tmp107__ |= ( pSrc->rxStaggeredSounding << 1 );
- tmp107__ |= ( pSrc->txStaggeredSounding << 2 );
- tmp107__ |= ( pSrc->rxZLF << 3 );
- tmp107__ |= ( pSrc->txZLF << 4 );
- tmp107__ |= ( pSrc->implicitTxBF << 5 );
- tmp107__ |= ( pSrc->calibration << 6 );
- tmp107__ |= ( pSrc->explicitCSITxBF << 8 );
- tmp107__ |= ( pSrc->explicitUncompressedSteeringMatrix << 9 );
- tmp107__ |= ( pSrc->explicitBFCSIFeedback << 10 );
- tmp107__ |= ( pSrc->explicitUncompressedSteeringMatrixFeedback << 13 );
- tmp107__ |= ( pSrc->explicitCompressedSteeringMatrixFeedback << 16 );
- tmp107__ |= ( pSrc->csiNumBFAntennae << 19 );
- tmp107__ |= ( pSrc->uncompressedSteeringMatrixBFAntennae << 21 );
- tmp107__ |= ( pSrc->compressedSteeringMatrixBFAntennae << 23 );
- tmp107__ |= ( pSrc->reserved4 << 25 );
- frameshtonl(pCtx, pBuf, tmp107__, 0);
+ tmp109__ = 0U;
+ tmp109__ |= ( pSrc->txBF << 0 );
+ tmp109__ |= ( pSrc->rxStaggeredSounding << 1 );
+ tmp109__ |= ( pSrc->txStaggeredSounding << 2 );
+ tmp109__ |= ( pSrc->rxZLF << 3 );
+ tmp109__ |= ( pSrc->txZLF << 4 );
+ tmp109__ |= ( pSrc->implicitTxBF << 5 );
+ tmp109__ |= ( pSrc->calibration << 6 );
+ tmp109__ |= ( pSrc->explicitCSITxBF << 8 );
+ tmp109__ |= ( pSrc->explicitUncompressedSteeringMatrix << 9 );
+ tmp109__ |= ( pSrc->explicitBFCSIFeedback << 10 );
+ tmp109__ |= ( pSrc->explicitUncompressedSteeringMatrixFeedback << 13 );
+ tmp109__ |= ( pSrc->explicitCompressedSteeringMatrixFeedback << 16 );
+ tmp109__ |= ( pSrc->csiNumBFAntennae << 19 );
+ tmp109__ |= ( pSrc->uncompressedSteeringMatrixBFAntennae << 21 );
+ tmp109__ |= ( pSrc->compressedSteeringMatrixBFAntennae << 23 );
+ tmp109__ |= ( pSrc->reserved4 << 25 );
+ frameshtonl(pCtx, pBuf, tmp109__, 0);
*pnConsumed += 4;
pBuf += 4;
nBuf -= 4 ;
- tmp108__ = 0U;
- tmp108__ |= ( pSrc->antennaSelection << 0 );
- tmp108__ |= ( pSrc->explicitCSIFeedbackTx << 1 );
- tmp108__ |= ( pSrc->antennaIndicesFeedbackTx << 2 );
- tmp108__ |= ( pSrc->explicitCSIFeedback << 3 );
- tmp108__ |= ( pSrc->antennaIndicesFeedback << 4 );
- tmp108__ |= ( pSrc->rxAS << 5 );
- tmp108__ |= ( pSrc->txSoundingPPDUs << 6 );
- tmp108__ |= ( pSrc->reserved5 << 7 );
- *pBuf = tmp108__;
+ tmp110__ = 0U;
+ tmp110__ |= ( pSrc->antennaSelection << 0 );
+ tmp110__ |= ( pSrc->explicitCSIFeedbackTx << 1 );
+ tmp110__ |= ( pSrc->antennaIndicesFeedbackTx << 2 );
+ tmp110__ |= ( pSrc->explicitCSIFeedback << 3 );
+ tmp110__ |= ( pSrc->antennaIndicesFeedback << 4 );
+ tmp110__ |= ( pSrc->rxAS << 5 );
+ tmp110__ |= ( pSrc->txSoundingPPDUs << 6 );
+ tmp110__ |= ( pSrc->reserved5 << 7 );
+ *pBuf = tmp110__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -25772,9 +25850,9 @@ tANI_U32 dot11fPackIeHTInfo(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp109__;
- tANI_U16 tmp110__;
- tANI_U16 tmp111__;
+ tANI_U8 tmp111__;
+ tANI_U16 tmp112__;
+ tANI_U16 tmp113__;
nNeeded += (pSrc->num_rsvd + 22);
while ( pSrc->present )
{
@@ -25786,35 +25864,35 @@ tANI_U32 dot11fPackIeHTInfo(tpAniSirGlobal pCtx,
*pBuf = pSrc->primaryChannel;
*pnConsumed += 1;
pBuf += 1;
- tmp109__ = 0U;
- tmp109__ |= ( pSrc->secondaryChannelOffset << 0 );
- tmp109__ |= ( pSrc->recommendedTxWidthSet << 2 );
- tmp109__ |= ( pSrc->rifsMode << 3 );
- tmp109__ |= ( pSrc->controlledAccessOnly << 4 );
- tmp109__ |= ( pSrc->serviceIntervalGranularity << 5 );
- *pBuf = tmp109__;
+ tmp111__ = 0U;
+ tmp111__ |= ( pSrc->secondaryChannelOffset << 0 );
+ tmp111__ |= ( pSrc->recommendedTxWidthSet << 2 );
+ tmp111__ |= ( pSrc->rifsMode << 3 );
+ tmp111__ |= ( pSrc->controlledAccessOnly << 4 );
+ tmp111__ |= ( pSrc->serviceIntervalGranularity << 5 );
+ *pBuf = tmp111__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp110__ = 0U;
- tmp110__ |= ( pSrc->opMode << 0 );
- tmp110__ |= ( pSrc->nonGFDevicesPresent << 2 );
- tmp110__ |= ( pSrc->transmitBurstLimit << 3 );
- tmp110__ |= ( pSrc->obssNonHTStaPresent << 4 );
- tmp110__ |= ( pSrc->reserved << 5 );
- frameshtons(pCtx, pBuf, tmp110__, 0);
+ tmp112__ = 0U;
+ tmp112__ |= ( pSrc->opMode << 0 );
+ tmp112__ |= ( pSrc->nonGFDevicesPresent << 2 );
+ tmp112__ |= ( pSrc->transmitBurstLimit << 3 );
+ tmp112__ |= ( pSrc->obssNonHTStaPresent << 4 );
+ tmp112__ |= ( pSrc->reserved << 5 );
+ frameshtons(pCtx, pBuf, tmp112__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
- tmp111__ = 0U;
- tmp111__ |= ( pSrc->basicSTBCMCS << 0 );
- tmp111__ |= ( pSrc->dualCTSProtection << 7 );
- tmp111__ |= ( pSrc->secondaryBeacon << 8 );
- tmp111__ |= ( pSrc->lsigTXOPProtectionFullSupport << 9 );
- tmp111__ |= ( pSrc->pcoActive << 10 );
- tmp111__ |= ( pSrc->pcoPhase << 11 );
- tmp111__ |= ( pSrc->reserved2 << 12 );
- frameshtons(pCtx, pBuf, tmp111__, 0);
+ tmp113__ = 0U;
+ tmp113__ |= ( pSrc->basicSTBCMCS << 0 );
+ tmp113__ |= ( pSrc->dualCTSProtection << 7 );
+ tmp113__ |= ( pSrc->secondaryBeacon << 8 );
+ tmp113__ |= ( pSrc->lsigTXOPProtectionFullSupport << 9 );
+ tmp113__ |= ( pSrc->pcoActive << 10 );
+ tmp113__ |= ( pSrc->pcoPhase << 11 );
+ tmp113__ |= ( pSrc->reserved2 << 12 );
+ frameshtons(pCtx, pBuf, tmp113__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -25909,9 +25987,9 @@ tANI_U32 dot11fPackIeMeasurementReport(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp112__;
- tANI_U8 tmp113__;
tANI_U8 tmp114__;
+ tANI_U8 tmp115__;
+ tANI_U8 tmp116__;
tANI_U32 status = DOT11F_PARSE_SUCCESS;
status = dot11fGetPackedIEMeasurementReport(pCtx, pSrc, &nNeeded);
if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -25925,12 +26003,12 @@ tANI_U32 dot11fPackIeMeasurementReport(tpAniSirGlobal pCtx,
*pBuf = pSrc->token;
*pnConsumed += 1;
pBuf += 1;
- tmp112__ = 0U;
- tmp112__ |= ( pSrc->late << 0 );
- tmp112__ |= ( pSrc->incapable << 1 );
- tmp112__ |= ( pSrc->refused << 2 );
- tmp112__ |= ( pSrc->unused << 3 );
- *pBuf = tmp112__;
+ tmp114__ = 0U;
+ tmp114__ |= ( pSrc->late << 0 );
+ tmp114__ |= ( pSrc->incapable << 1 );
+ tmp114__ |= ( pSrc->refused << 2 );
+ tmp114__ |= ( pSrc->unused << 3 );
+ *pBuf = tmp114__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -25950,14 +26028,14 @@ tANI_U32 dot11fPackIeMeasurementReport(tpAniSirGlobal pCtx,
frameshtons(pCtx, pBuf, pSrc->report.Basic.meas_duration, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp113__ = 0U;
- tmp113__ |= ( pSrc->report.Basic.bss << 0 );
- tmp113__ |= ( pSrc->report.Basic.ofdm_preamble << 1 );
- tmp113__ |= ( pSrc->report.Basic.unid_signal << 2 );
- tmp113__ |= ( pSrc->report.Basic.rader << 3 );
- tmp113__ |= ( pSrc->report.Basic.unmeasured << 4 );
- tmp113__ |= ( pSrc->report.Basic.unused << 5 );
- *pBuf = tmp113__;
+ tmp115__ = 0U;
+ tmp115__ |= ( pSrc->report.Basic.bss << 0 );
+ tmp115__ |= ( pSrc->report.Basic.ofdm_preamble << 1 );
+ tmp115__ |= ( pSrc->report.Basic.unid_signal << 2 );
+ tmp115__ |= ( pSrc->report.Basic.rader << 3 );
+ tmp115__ |= ( pSrc->report.Basic.unmeasured << 4 );
+ tmp115__ |= ( pSrc->report.Basic.unused << 5 );
+ *pBuf = tmp115__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -26024,10 +26102,10 @@ tANI_U32 dot11fPackIeMeasurementReport(tpAniSirGlobal pCtx,
frameshtons(pCtx, pBuf, pSrc->report.Beacon.meas_duration, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp114__ = 0U;
- tmp114__ |= ( pSrc->report.Beacon.condensed_PHY << 0 );
- tmp114__ |= ( pSrc->report.Beacon.reported_frame_type << 7 );
- *pBuf = tmp114__;
+ tmp116__ = 0U;
+ tmp116__ |= ( pSrc->report.Beacon.condensed_PHY << 0 );
+ tmp116__ |= ( pSrc->report.Beacon.reported_frame_type << 7 );
+ *pBuf = tmp116__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -26076,7 +26154,7 @@ tANI_U32 dot11fPackIeMeasurementRequest(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp115__;
+ tANI_U8 tmp117__;
tANI_U32 status = DOT11F_PARSE_SUCCESS;
status = dot11fGetPackedIEMeasurementRequest(pCtx, pSrc, &nNeeded);
if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -26090,14 +26168,14 @@ tANI_U32 dot11fPackIeMeasurementRequest(tpAniSirGlobal pCtx,
*pBuf = pSrc->measurement_token;
*pnConsumed += 1;
pBuf += 1;
- tmp115__ = 0U;
- tmp115__ |= ( pSrc->parallel << 0 );
- tmp115__ |= ( pSrc->enable << 1 );
- tmp115__ |= ( pSrc->request << 2 );
- tmp115__ |= ( pSrc->report << 3 );
- tmp115__ |= ( pSrc->durationMandatory << 4 );
- tmp115__ |= ( pSrc->unused << 5 );
- *pBuf = tmp115__;
+ tmp117__ = 0U;
+ tmp117__ |= ( pSrc->parallel << 0 );
+ tmp117__ |= ( pSrc->enable << 1 );
+ tmp117__ |= ( pSrc->request << 2 );
+ tmp117__ |= ( pSrc->report << 3 );
+ tmp117__ |= ( pSrc->durationMandatory << 4 );
+ tmp117__ |= ( pSrc->unused << 5 );
+ *pBuf = tmp117__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -26186,7 +26264,7 @@ tANI_U32 dot11fPackIeMobilityDomain(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp116__;
+ tANI_U8 tmp118__;
nNeeded += 3;
while ( pSrc->present )
{
@@ -26198,11 +26276,11 @@ tANI_U32 dot11fPackIeMobilityDomain(tpAniSirGlobal pCtx,
frameshtons(pCtx, pBuf, pSrc->MDID, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp116__ = 0U;
- tmp116__ |= ( pSrc->overDSCap << 0 );
- tmp116__ |= ( pSrc->resourceReqCap << 1 );
- tmp116__ |= ( pSrc->reserved << 2 );
- *pBuf = tmp116__;
+ tmp118__ = 0U;
+ tmp118__ |= ( pSrc->overDSCap << 0 );
+ tmp118__ |= ( pSrc->resourceReqCap << 1 );
+ tmp118__ |= ( pSrc->reserved << 2 );
+ *pBuf = tmp118__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -26225,8 +26303,8 @@ tANI_U32 dot11fPackIeNeighborReport(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp117__;
- tANI_U8 tmp118__;
+ tANI_U8 tmp119__;
+ tANI_U8 tmp120__;
tANI_U32 status = DOT11F_PARSE_SUCCESS;
status = dot11fGetPackedIENeighborReport(pCtx, pSrc, &nNeeded);
if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -26240,24 +26318,24 @@ tANI_U32 dot11fPackIeNeighborReport(tpAniSirGlobal pCtx,
DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6);
*pnConsumed += 6;
pBuf += 6;
- tmp117__ = 0U;
- tmp117__ |= ( pSrc->APReachability << 0 );
- tmp117__ |= ( pSrc->Security << 2 );
- tmp117__ |= ( pSrc->KeyScope << 3 );
- tmp117__ |= ( pSrc->SpecMgmtCap << 4 );
- tmp117__ |= ( pSrc->QosCap << 5 );
- tmp117__ |= ( pSrc->apsd << 6 );
- tmp117__ |= ( pSrc->rrm << 7 );
- *pBuf = tmp117__;
+ tmp119__ = 0U;
+ tmp119__ |= ( pSrc->APReachability << 0 );
+ tmp119__ |= ( pSrc->Security << 2 );
+ tmp119__ |= ( pSrc->KeyScope << 3 );
+ tmp119__ |= ( pSrc->SpecMgmtCap << 4 );
+ tmp119__ |= ( pSrc->QosCap << 5 );
+ tmp119__ |= ( pSrc->apsd << 6 );
+ tmp119__ |= ( pSrc->rrm << 7 );
+ *pBuf = tmp119__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- tmp118__ = 0U;
- tmp118__ |= ( pSrc->DelayedBA << 0 );
- tmp118__ |= ( pSrc->ImmBA << 1 );
- tmp118__ |= ( pSrc->MobilityDomain << 2 );
- tmp118__ |= ( pSrc->reserved << 3 );
- *pBuf = tmp118__;
+ tmp120__ = 0U;
+ tmp120__ |= ( pSrc->DelayedBA << 0 );
+ tmp120__ |= ( pSrc->ImmBA << 1 );
+ tmp120__ |= ( pSrc->MobilityDomain << 2 );
+ tmp120__ |= ( pSrc->reserved << 3 );
+ *pBuf = tmp120__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
@@ -26347,7 +26425,7 @@ tANI_U32 dot11fPackIeOperatingMode(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp119__;
+ tANI_U8 tmp121__;
nNeeded += 1;
while ( pSrc->present )
{
@@ -26356,12 +26434,12 @@ tANI_U32 dot11fPackIeOperatingMode(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp119__ = 0U;
- tmp119__ |= ( pSrc->chanWidth << 0 );
- tmp119__ |= ( pSrc->reserved << 2 );
- tmp119__ |= ( pSrc->rxNSS << 4 );
- tmp119__ |= ( pSrc->rxNSSType << 7 );
- *pBuf = tmp119__;
+ tmp121__ = 0U;
+ tmp121__ |= ( pSrc->chanWidth << 0 );
+ tmp121__ |= ( pSrc->reserved << 2 );
+ tmp121__ |= ( pSrc->rxNSS << 4 );
+ tmp121__ |= ( pSrc->rxNSSType << 7 );
+ *pBuf = tmp121__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -27315,7 +27393,7 @@ tANI_U32 dot11fPackIePUBufferStatus(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp120__;
+ tANI_U8 tmp122__;
nNeeded += 1;
while ( pSrc->present )
{
@@ -27324,13 +27402,13 @@ tANI_U32 dot11fPackIePUBufferStatus(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp120__ = 0U;
- tmp120__ |= ( pSrc->ac_bk_traffic_aval << 0 );
- tmp120__ |= ( pSrc->ac_be_traffic_aval << 1 );
- tmp120__ |= ( pSrc->ac_vi_traffic_aval << 2 );
- tmp120__ |= ( pSrc->ac_vo_traffic_aval << 3 );
- tmp120__ |= ( pSrc->reserved << 4 );
- *pBuf = tmp120__;
+ tmp122__ = 0U;
+ tmp122__ |= ( pSrc->ac_bk_traffic_aval << 0 );
+ tmp122__ |= ( pSrc->ac_be_traffic_aval << 1 );
+ tmp122__ |= ( pSrc->ac_vi_traffic_aval << 2 );
+ tmp122__ |= ( pSrc->ac_vo_traffic_aval << 3 );
+ tmp122__ |= ( pSrc->reserved << 4 );
+ *pBuf = tmp122__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -27491,7 +27569,7 @@ tANI_U32 dot11fPackIeQOSCapsAp(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp121__;
+ tANI_U8 tmp123__;
nNeeded += 1;
while ( pSrc->present )
{
@@ -27500,13 +27578,13 @@ tANI_U32 dot11fPackIeQOSCapsAp(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp121__ = 0U;
- tmp121__ |= ( pSrc->count << 0 );
- tmp121__ |= ( pSrc->qack << 4 );
- tmp121__ |= ( pSrc->qreq << 5 );
- tmp121__ |= ( pSrc->txopreq << 6 );
- tmp121__ |= ( pSrc->reserved << 7 );
- *pBuf = tmp121__;
+ tmp123__ = 0U;
+ tmp123__ |= ( pSrc->count << 0 );
+ tmp123__ |= ( pSrc->qack << 4 );
+ tmp123__ |= ( pSrc->qreq << 5 );
+ tmp123__ |= ( pSrc->txopreq << 6 );
+ tmp123__ |= ( pSrc->reserved << 7 );
+ *pBuf = tmp123__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -27529,7 +27607,7 @@ tANI_U32 dot11fPackIeQOSCapsStation(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp122__;
+ tANI_U8 tmp124__;
nNeeded += 1;
while ( pSrc->present )
{
@@ -27538,15 +27616,15 @@ tANI_U32 dot11fPackIeQOSCapsStation(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp122__ = 0U;
- tmp122__ |= ( pSrc->acvo_uapsd << 0 );
- tmp122__ |= ( pSrc->acvi_uapsd << 1 );
- tmp122__ |= ( pSrc->acbk_uapsd << 2 );
- tmp122__ |= ( pSrc->acbe_uapsd << 3 );
- tmp122__ |= ( pSrc->qack << 4 );
- tmp122__ |= ( pSrc->max_sp_length << 5 );
- tmp122__ |= ( pSrc->more_data_ack << 7 );
- *pBuf = tmp122__;
+ tmp124__ = 0U;
+ tmp124__ |= ( pSrc->acvo_uapsd << 0 );
+ tmp124__ |= ( pSrc->acvi_uapsd << 1 );
+ tmp124__ |= ( pSrc->acbk_uapsd << 2 );
+ tmp124__ |= ( pSrc->acbe_uapsd << 3 );
+ tmp124__ |= ( pSrc->qack << 4 );
+ tmp124__ |= ( pSrc->max_sp_length << 5 );
+ tmp124__ |= ( pSrc->more_data_ack << 7 );
+ *pBuf = tmp124__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -28086,9 +28164,9 @@ tANI_U32 dot11fPackIeVHTCaps(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U32 tmp123__;
- tANI_U16 tmp124__;
- tANI_U16 tmp125__;
+ tANI_U32 tmp125__;
+ tANI_U16 tmp126__;
+ tANI_U16 tmp127__;
nNeeded += 12;
while ( pSrc->present )
{
@@ -28097,48 +28175,48 @@ tANI_U32 dot11fPackIeVHTCaps(tpAniSirGlobal pCtx,
++pBuf; ++(*pnConsumed);
pIeLen = pBuf;
++pBuf; ++(*pnConsumed);
- tmp123__ = 0U;
- tmp123__ |= ( pSrc->maxMPDULen << 0 );
- tmp123__ |= ( pSrc->supportedChannelWidthSet << 2 );
- tmp123__ |= ( pSrc->ldpcCodingCap << 4 );
- tmp123__ |= ( pSrc->shortGI80MHz << 5 );
- tmp123__ |= ( pSrc->shortGI160and80plus80MHz << 6 );
- tmp123__ |= ( pSrc->txSTBC << 7 );
- tmp123__ |= ( pSrc->rxSTBC << 8 );
- tmp123__ |= ( pSrc->suBeamFormerCap << 11 );
- tmp123__ |= ( pSrc->suBeamformeeCap << 12 );
- tmp123__ |= ( pSrc->csnofBeamformerAntSup << 13 );
- tmp123__ |= ( pSrc->numSoundingDim << 16 );
- tmp123__ |= ( pSrc->muBeamformerCap << 19 );
- tmp123__ |= ( pSrc->muBeamformeeCap << 20 );
- tmp123__ |= ( pSrc->vhtTXOPPS << 21 );
- tmp123__ |= ( pSrc->htcVHTCap << 22 );
- tmp123__ |= ( pSrc->maxAMPDULenExp << 23 );
- tmp123__ |= ( pSrc->vhtLinkAdaptCap << 26 );
- tmp123__ |= ( pSrc->rxAntPattern << 28 );
- tmp123__ |= ( pSrc->txAntPattern << 29 );
- tmp123__ |= ( pSrc->reserved1 << 30 );
- frameshtonl(pCtx, pBuf, tmp123__, 0);
+ tmp125__ = 0U;
+ tmp125__ |= ( pSrc->maxMPDULen << 0 );
+ tmp125__ |= ( pSrc->supportedChannelWidthSet << 2 );
+ tmp125__ |= ( pSrc->ldpcCodingCap << 4 );
+ tmp125__ |= ( pSrc->shortGI80MHz << 5 );
+ tmp125__ |= ( pSrc->shortGI160and80plus80MHz << 6 );
+ tmp125__ |= ( pSrc->txSTBC << 7 );
+ tmp125__ |= ( pSrc->rxSTBC << 8 );
+ tmp125__ |= ( pSrc->suBeamFormerCap << 11 );
+ tmp125__ |= ( pSrc->suBeamformeeCap << 12 );
+ tmp125__ |= ( pSrc->csnofBeamformerAntSup << 13 );
+ tmp125__ |= ( pSrc->numSoundingDim << 16 );
+ tmp125__ |= ( pSrc->muBeamformerCap << 19 );
+ tmp125__ |= ( pSrc->muBeamformeeCap << 20 );
+ tmp125__ |= ( pSrc->vhtTXOPPS << 21 );
+ tmp125__ |= ( pSrc->htcVHTCap << 22 );
+ tmp125__ |= ( pSrc->maxAMPDULenExp << 23 );
+ tmp125__ |= ( pSrc->vhtLinkAdaptCap << 26 );
+ tmp125__ |= ( pSrc->rxAntPattern << 28 );
+ tmp125__ |= ( pSrc->txAntPattern << 29 );
+ tmp125__ |= ( pSrc->reserved1 << 30 );
+ frameshtonl(pCtx, pBuf, tmp125__, 0);
*pnConsumed += 4;
pBuf += 4;
nBuf -= 4 ;
frameshtons(pCtx, pBuf, pSrc->rxMCSMap, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp124__ = 0U;
- tmp124__ |= ( pSrc->rxHighSupDataRate << 0 );
- tmp124__ |= ( pSrc->reserved2 << 13 );
- frameshtons(pCtx, pBuf, tmp124__, 0);
+ tmp126__ = 0U;
+ tmp126__ |= ( pSrc->rxHighSupDataRate << 0 );
+ tmp126__ |= ( pSrc->reserved2 << 13 );
+ frameshtons(pCtx, pBuf, tmp126__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
frameshtons(pCtx, pBuf, pSrc->txMCSMap, 0);
*pnConsumed += 2;
pBuf += 2;
- tmp125__ = 0U;
- tmp125__ |= ( pSrc->txSupDataRate << 0 );
- tmp125__ |= ( pSrc->reserved3 << 13 );
- frameshtons(pCtx, pBuf, tmp125__, 0);
+ tmp127__ = 0U;
+ tmp127__ |= ( pSrc->txSupDataRate << 0 );
+ tmp127__ |= ( pSrc->reserved3 << 13 );
+ frameshtons(pCtx, pBuf, tmp127__, 0);
*pnConsumed += 2;
// fieldsEndFlag = 1
nBuf -= 2 ;
@@ -28341,7 +28419,7 @@ tANI_U32 dot11fPackIeWAPI(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U16 tmp126__;
+ tANI_U16 tmp128__;
tANI_U32 status = DOT11F_PARSE_SUCCESS;
status = dot11fGetPackedIEWAPI(pCtx, pSrc, &nNeeded);
if ( ! DOT11F_SUCCEEDED( status ) ) return status;
@@ -28370,10 +28448,10 @@ tANI_U32 dot11fPackIeWAPI(tpAniSirGlobal pCtx,
DOT11F_MEMCPY(pCtx, pBuf, pSrc->multicast_cipher_suite, 4);
*pnConsumed += 4;
pBuf += 4;
- tmp126__ = 0U;
- tmp126__ |= ( pSrc->preauth << 0 );
- tmp126__ |= ( pSrc->reserved << 1 );
- frameshtons(pCtx, pBuf, tmp126__, 0);
+ tmp128__ = 0U;
+ tmp128__ |= ( pSrc->preauth << 0 );
+ tmp128__ |= ( pSrc->reserved << 1 );
+ frameshtons(pCtx, pBuf, tmp128__, 0);
*pnConsumed += 2;
pBuf += 2;
nBuf -= 2 ;
@@ -28516,7 +28594,7 @@ tANI_U32 dot11fPackIeWMMCaps(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp127__;
+ tANI_U8 tmp129__;
nNeeded += 2;
while ( pSrc->present )
{
@@ -28538,13 +28616,13 @@ tANI_U32 dot11fPackIeWMMCaps(tpAniSirGlobal pCtx,
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp127__ = 0U;
- tmp127__ |= ( pSrc->reserved << 0 );
- tmp127__ |= ( pSrc->qack << 4 );
- tmp127__ |= ( pSrc->queue_request << 5 );
- tmp127__ |= ( pSrc->txop_request << 6 );
- tmp127__ |= ( pSrc->more_ack << 7 );
- *pBuf = tmp127__;
+ tmp129__ = 0U;
+ tmp129__ |= ( pSrc->reserved << 0 );
+ tmp129__ |= ( pSrc->qack << 4 );
+ tmp129__ |= ( pSrc->queue_request << 5 );
+ tmp129__ |= ( pSrc->txop_request << 6 );
+ tmp129__ |= ( pSrc->more_ack << 7 );
+ *pBuf = tmp129__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -28567,7 +28645,7 @@ tANI_U32 dot11fPackIeWMMInfoAp(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp128__;
+ tANI_U8 tmp130__;
nNeeded += 2;
while ( pSrc->present )
{
@@ -28589,11 +28667,11 @@ tANI_U32 dot11fPackIeWMMInfoAp(tpAniSirGlobal pCtx,
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp128__ = 0U;
- tmp128__ |= ( pSrc->param_set_count << 0 );
- tmp128__ |= ( pSrc->reserved << 4 );
- tmp128__ |= ( pSrc->uapsd << 7 );
- *pBuf = tmp128__;
+ tmp130__ = 0U;
+ tmp130__ |= ( pSrc->param_set_count << 0 );
+ tmp130__ |= ( pSrc->reserved << 4 );
+ tmp130__ |= ( pSrc->uapsd << 7 );
+ *pBuf = tmp130__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -28616,7 +28694,7 @@ tANI_U32 dot11fPackIeWMMInfoStation(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp129__;
+ tANI_U8 tmp131__;
nNeeded += 2;
while ( pSrc->present )
{
@@ -28638,15 +28716,15 @@ tANI_U32 dot11fPackIeWMMInfoStation(tpAniSirGlobal pCtx,
*pBuf = pSrc->version;
*pnConsumed += 1;
pBuf += 1;
- tmp129__ = 0U;
- tmp129__ |= ( pSrc->acvo_uapsd << 0 );
- tmp129__ |= ( pSrc->acvi_uapsd << 1 );
- tmp129__ |= ( pSrc->acbk_uapsd << 2 );
- tmp129__ |= ( pSrc->acbe_uapsd << 3 );
- tmp129__ |= ( pSrc->reserved1 << 4 );
- tmp129__ |= ( pSrc->max_sp_length << 5 );
- tmp129__ |= ( pSrc->reserved2 << 7 );
- *pBuf = tmp129__;
+ tmp131__ = 0U;
+ tmp131__ |= ( pSrc->acvo_uapsd << 0 );
+ tmp131__ |= ( pSrc->acvi_uapsd << 1 );
+ tmp131__ |= ( pSrc->acbk_uapsd << 2 );
+ tmp131__ |= ( pSrc->acbe_uapsd << 3 );
+ tmp131__ |= ( pSrc->reserved1 << 4 );
+ tmp131__ |= ( pSrc->max_sp_length << 5 );
+ tmp131__ |= ( pSrc->reserved2 << 7 );
+ *pBuf = tmp131__;
*pnConsumed += 1;
// fieldsEndFlag = 1
nBuf -= 1 ;
@@ -28669,14 +28747,14 @@ tANI_U32 dot11fPackIeWMMParams(tpAniSirGlobal pCtx,
tANI_U8* pIeLen = 0;
tANI_U32 nConsumedOnEntry = *pnConsumed;
tANI_U32 nNeeded = 0U;
- tANI_U8 tmp130__;
- tANI_U8 tmp131__;
tANI_U8 tmp132__;
tANI_U8 tmp133__;
tANI_U8 tmp134__;
tANI_U8 tmp135__;
tANI_U8 tmp136__;
tANI_U8 tmp137__;
+ tANI_U8 tmp138__;
+ tANI_U8 tmp139__;
nNeeded += 19;
while ( pSrc->present )
{
@@ -28704,79 +28782,79 @@ tANI_U32 dot11fPackIeWMMParams(tpAniSirGlobal pCtx,
*pBuf = pSrc->reserved2;
*pnConsumed += 1;
pBuf += 1;
- tmp130__ = 0U;
- tmp130__ |= ( pSrc->acbe_aifsn << 0 );
- tmp130__ |= ( pSrc->acbe_acm << 4 );
- tmp130__ |= ( pSrc->acbe_aci << 5 );
- tmp130__ |= ( pSrc->unused1 << 7 );
- *pBuf = tmp130__;
- *pnConsumed += 1;
- pBuf += 1;
- nBuf -= 1 ;
- tmp131__ = 0U;
- tmp131__ |= ( pSrc->acbe_acwmin << 0 );
- tmp131__ |= ( pSrc->acbe_acwmax << 4 );
- *pBuf = tmp131__;
- *pnConsumed += 1;
- pBuf += 1;
- nBuf -= 1 ;
- frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
- *pnConsumed += 2;
- pBuf += 2;
tmp132__ = 0U;
- tmp132__ |= ( pSrc->acbk_aifsn << 0 );
- tmp132__ |= ( pSrc->acbk_acm << 4 );
- tmp132__ |= ( pSrc->acbk_aci << 5 );
- tmp132__ |= ( pSrc->unused2 << 7 );
+ tmp132__ |= ( pSrc->acbe_aifsn << 0 );
+ tmp132__ |= ( pSrc->acbe_acm << 4 );
+ tmp132__ |= ( pSrc->acbe_aci << 5 );
+ tmp132__ |= ( pSrc->unused1 << 7 );
*pBuf = tmp132__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp133__ = 0U;
- tmp133__ |= ( pSrc->acbk_acwmin << 0 );
- tmp133__ |= ( pSrc->acbk_acwmax << 4 );
+ tmp133__ |= ( pSrc->acbe_acwmin << 0 );
+ tmp133__ |= ( pSrc->acbe_acwmax << 4 );
*pBuf = tmp133__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
+ frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
tmp134__ = 0U;
- tmp134__ |= ( pSrc->acvi_aifsn << 0 );
- tmp134__ |= ( pSrc->acvi_acm << 4 );
- tmp134__ |= ( pSrc->acvi_aci << 5 );
- tmp134__ |= ( pSrc->unused3 << 7 );
+ tmp134__ |= ( pSrc->acbk_aifsn << 0 );
+ tmp134__ |= ( pSrc->acbk_acm << 4 );
+ tmp134__ |= ( pSrc->acbk_aci << 5 );
+ tmp134__ |= ( pSrc->unused2 << 7 );
*pBuf = tmp134__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp135__ = 0U;
- tmp135__ |= ( pSrc->acvi_acwmin << 0 );
- tmp135__ |= ( pSrc->acvi_acwmax << 4 );
+ tmp135__ |= ( pSrc->acbk_acwmin << 0 );
+ tmp135__ |= ( pSrc->acbk_acwmax << 4 );
*pBuf = tmp135__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
- frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
+ frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0);
*pnConsumed += 2;
pBuf += 2;
tmp136__ = 0U;
- tmp136__ |= ( pSrc->acvo_aifsn << 0 );
- tmp136__ |= ( pSrc->acvo_acm << 4 );
- tmp136__ |= ( pSrc->acvo_aci << 5 );
- tmp136__ |= ( pSrc->unused4 << 7 );
+ tmp136__ |= ( pSrc->acvi_aifsn << 0 );
+ tmp136__ |= ( pSrc->acvi_acm << 4 );
+ tmp136__ |= ( pSrc->acvi_aci << 5 );
+ tmp136__ |= ( pSrc->unused3 << 7 );
*pBuf = tmp136__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
tmp137__ = 0U;
- tmp137__ |= ( pSrc->acvo_acwmin << 0 );
- tmp137__ |= ( pSrc->acvo_acwmax << 4 );
+ tmp137__ |= ( pSrc->acvi_acwmin << 0 );
+ tmp137__ |= ( pSrc->acvi_acwmax << 4 );
*pBuf = tmp137__;
*pnConsumed += 1;
pBuf += 1;
nBuf -= 1 ;
+ frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0);
+ *pnConsumed += 2;
+ pBuf += 2;
+ tmp138__ = 0U;
+ tmp138__ |= ( pSrc->acvo_aifsn << 0 );
+ tmp138__ |= ( pSrc->acvo_acm << 4 );
+ tmp138__ |= ( pSrc->acvo_aci << 5 );
+ tmp138__ |= ( pSrc->unused4 << 7 );
+ *pBuf = tmp138__;
+ *pnConsumed += 1;
+ pBuf += 1;
+ nBuf -= 1 ;
+ tmp139__ = 0U;
+ tmp139__ |= ( pSrc->acvo_acwmin << 0 );
+ tmp139__ |= ( pSrc->acvo_acwmax << 4 );
+ *pBuf = tmp139__;
+ *pnConsumed += 1;
+ pBuf += 1;
+ nBuf -= 1 ;
frameshtons(pCtx, pBuf, pSrc->acvo_txoplimit, 0);
*pnConsumed += 2;
// fieldsEndFlag = 1
@@ -41442,6 +41520,35 @@ tANI_U32 dot11fPackWMMDelTS(tpAniSirGlobal pCtx, tDot11fWMMDelTS *pFrm, tANI_U8
} /* End dot11fUnpackWMMDelTS. */
+tANI_U32 dot11fPackext_channel_switch_action_frame(tpAniSirGlobal pCtx, tDot11fext_channel_switch_action_frame *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_ext_channel_switch_action_frame, IES_ext_channel_switch_action_frame);
+
+# ifdef DOT11F_DUMP_FRAMES
+ if (!DOT11F_FAILED(status))
+ {
+ FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("Packed the ext_channel_switch_action_frame:\n"));
+ FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("Category:\n"));
+ FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), ( tANI_U8* )&pFrm->Category.category, 1);
+ FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("Action:\n"));
+ FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), ( tANI_U8* )&pFrm->Action.action, 1);
+ FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("ext_chan_switch_ann_action:\n"));
+ FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("switch_mode (8): %d\n"), pFrm->ext_chan_switch_ann_action.switch_mode);
+ FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("op_class (8): %d\n"), pFrm->ext_chan_switch_ann_action.op_class);
+ FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("new_channel (8): %d\n"), pFrm->ext_chan_switch_ann_action.new_channel);
+ FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("switch_count (8): %d\n"), pFrm->ext_chan_switch_ann_action.switch_count);
+ FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), FRFL("to:\n"));
+ FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_EXT_CHANNEL_SWITCH_ACTION_FRAME), pBuf, nBuf);
+ }
+# endif // DOT11F_DUMP_FRAMES
+ return status;
+
+} /* End dot11fUnpackext_channel_switch_action_frame. */
+
static tANI_U32 PackCore(tpAniSirGlobal pCtx,
tANI_U8 *pSrc,
tANI_U8 *pBuf,
@@ -41588,6 +41695,9 @@ static tANI_U32 PackCore(tpAniSirGlobal pCtx,
case SigFfVhtUserPositionArray:
dot11fPackFfVhtUserPositionArray(pCtx, (tDot11fFfVhtUserPositionArray* )(pSrc + pFf->offset), pBufRemaining);
break;
+ case SigFfext_chan_switch_ann_action:
+ dot11fPackFfext_chan_switch_ann_action(pCtx, (tDot11fFfext_chan_switch_ann_action* )(pSrc + pFf->offset), pBufRemaining);
+ break;
default:
FRAMES_LOG1(pCtx, FRLOGE, FRFL("INTERNAL ERROR-- I don"
"'t know about the Fixed Field %d; this is most l"