From 5953215f9bc4b2d19031feb09a854ebfdac9c813 Mon Sep 17 00:00:00 2001 From: Manikandan Mohan Date: Wed, 24 Jul 2019 11:06:37 -0700 Subject: [PATCH] qcacld-3.0: Update dot11f frame spec files for 6Ghz support Add 6GHZ operation information element structure and HE extended capabilities for 6GHZ information element structure to dot11f frame specification and parsing files. Also add them as optional IE in required managment frames. Change-Id: I5da20543c245e3e02806a20fbfe3ff4326db61f4 CRs-fixed: 2530409 --- core/mac/src/cfg/cfgUtil/dot11f.frms | 41 +- core/mac/src/include/dot11f.h | 99 +- .../mac/src/sys/legacy/src/utils/src/dot11f.c | 2328 +++++++++-------- 3 files changed, 1398 insertions(+), 1070 deletions(-) diff --git a/core/mac/src/cfg/cfgUtil/dot11f.frms b/core/mac/src/cfg/cfgUtil/dot11f.frms index b75580e2fc76..ce1e8039caaa 100644 --- a/core/mac/src/cfg/cfgUtil/dot11f.frms +++ b/core/mac/src/cfg/cfgUtil/dot11f.frms @@ -2988,7 +2988,8 @@ IE he_op (EID_EXTN_ID_ELEMENT) OUI (0x24) } { er_su_disable: 1; - reserved2: 7; + oper_info_6g_present: 1; + reserved2: 6; } { bss_color:6; @@ -3012,6 +3013,35 @@ IE he_op (EID_EXTN_ID_ELEMENT) OUI (0x24) data, 1; } }; + OPTIONAL UNION oper_info_6g (DISCRIMINATOR oper_info_6g_present) + { + info (oper_info_6g_present IS 1) + { + primary_ch, 1; + { // control + ch_width: 2; + dup_bcon: 1; + reserved: 5; + } + center_freq_seg0, 1; + center_freq_seg1, 1; + min_rate, 1; + } + }; +} + +IE he_6ghz_band_cap (EID_EXTN_ID_ELEMENT) OUI (0x3B) +{ + { // capabilities_information + min_mpdu_start_spacing :3; + max_ampdu_len_exp: 3; + max_mpdu_len: 3; + sm_pow_save: 2; + rd_responder: 1; + rx_ant_pattern_consistency: 1; + tx_ant_pattern_consistency: 1; + reserved: 2; + } } IE mu_edca_param_set (EID_EXTN_ID_ELEMENT) OUI (0x26) @@ -3480,6 +3510,7 @@ FRAME Beacon // C.f. Sec. 7.2.3.1 OPTIE qcn_ie; OPTIE he_cap; OPTIE he_op; + OPTIE he_6ghz_band_cap; OPTIE bss_color_change; OPTIE mu_edca_param_set; OPTIE esp_information; @@ -3576,6 +3607,7 @@ FRAME Beacon2 OPTIE qcn_ie; OPTIE he_cap; OPTIE he_op; + OPTIE he_6ghz_band_cap; OPTIE bss_color_change; OPTIE mu_edca_param_set; OPTIE esp_information; @@ -3648,6 +3680,7 @@ FRAME BeaconIEs OPTIE qcn_ie; OPTIE he_cap; OPTIE he_op; + OPTIE he_6ghz_band_cap; OPTIE bss_color_change; OPTIE mu_edca_param_set; OPTIE esp_information; @@ -3699,6 +3732,7 @@ FRAME AssocRequest // 7.2.3.4 OPTIE hs20vendor_ie; OPTIE qcn_ie; OPTIE he_cap; + OPTIE he_6ghz_band_cap; OPTIE osen_ie; OPTIE roaming_consortium_sel; } // End frame AssocRequest. @@ -3744,6 +3778,7 @@ FRAME AssocResponse // 7.2.3.5 OPTIE qcn_ie; OPTIE he_cap; OPTIE he_op; + OPTIE he_6ghz_band_cap; OPTIE bss_color_change; OPTIE mu_edca_param_set; OPTIE MBO_IE; @@ -3786,6 +3821,7 @@ FRAME ReAssocRequest // 7.2.3.6 OPTIE vendor_vht_ie; OPTIE hs20vendor_ie; OPTIE he_cap; + OPTIE he_6ghz_band_cap; } // End frame ReAssocRequest. FRAME ReAssocResponse // 7.2.3.7 @@ -3823,6 +3859,7 @@ FRAME ReAssocResponse // 7.2.3.7 OPTIE vendor_vht_ie; OPTIE he_cap; OPTIE he_op; + OPTIE he_6ghz_band_cap; OPTIE bss_color_change; OPTIE mu_edca_param_set; OPTIE MBO_IE; @@ -3843,6 +3880,7 @@ FRAME ProbeRequest // 7.2.3.8 OPTIE ExtCap; OPTIE qcn_ie; OPTIE he_cap; + OPTIE he_6ghz_band_cap; } // End frame ProbeRequest. FRAME ProbeResponse // 7.2.3.9 @@ -3905,6 +3943,7 @@ FRAME ProbeResponse // 7.2.3.9 OPTIE qcn_ie; OPTIE he_cap; OPTIE he_op; + OPTIE he_6ghz_band_cap; OPTIE bss_color_change; OPTIE mu_edca_param_set; OPTIE esp_information; diff --git a/core/mac/src/include/dot11f.h b/core/mac/src/include/dot11f.h index 2b57b0dc99d8..d8b0d3555f98 100644 --- a/core/mac/src/include/dot11f.h +++ b/core/mac/src/include/dot11f.h @@ -26,7 +26,7 @@ * * * This file was automatically generated by 'framesc' - * Wed Aug 7 14:47:51 2019 from the following file(s): + * Fri Sep 13 10:34:49 2019 from the following file(s): * * dot11f.frms * @@ -8863,6 +8863,52 @@ uint32_t dot11f_get_packed_ie_fragment_ie( }; /* End extern "C". */ #endif /* C++ */ +/* EID 255 (0xff) Extended EID 59 (0x3b) */ +typedef struct sDot11fIEhe_6ghz_band_cap { + uint8_t present; + uint16_t min_mpdu_start_spacing:3; + uint16_t max_ampdu_len_exp:3; + uint16_t max_mpdu_len:3; + uint16_t sm_pow_save:2; + uint16_t rd_responder:1; + uint16_t rx_ant_pattern_consistency:1; + uint16_t tx_ant_pattern_consistency:1; + uint16_t reserved:2; +} tDot11fIEhe_6ghz_band_cap; + +#define DOT11F_EID_HE_6GHZ_BAND_CAP (255) + +/* N.B. These #defines do *not* include the EID & length */ +#define DOT11F_IE_HE_6GHZ_BAND_CAP_MIN_LEN (2) + +#define DOT11F_IE_HE_6GHZ_BAND_CAP_MAX_LEN (2) + +#ifdef __cplusplus +extern "C" { +#endif /* C++ */ +__must_check uint32_t dot11f_unpack_ie_he_6ghz_band_cap( + tpAniSirGlobal, + uint8_t *, + uint8_t, + tDot11fIEhe_6ghz_band_cap*, + bool); + +uint32_t dot11f_pack_ie_he_6ghz_band_cap( + tpAniSirGlobal, + tDot11fIEhe_6ghz_band_cap *, + uint8_t *, + uint32_t, + uint32_t*); + +uint32_t dot11f_get_packed_ie_he_6ghz_band_cap( + tpAniSirGlobal, + tDot11fIEhe_6ghz_band_cap *, + uint32_t*); + +#ifdef __cplusplus +}; /* End extern "C". */ +#endif /* C++ */ + /* EID 255 (0xff) Extended EID 35 (0x23) */ typedef struct sDot11fIEhe_cap { uint8_t present; @@ -9016,7 +9062,8 @@ typedef struct sDot11fIEhe_op { uint16_t vht_oper_present:1; uint16_t co_located_bss:1; uint8_t er_su_disable:1; - uint8_t reserved2:7; + uint8_t oper_info_6g_present:1; + uint8_t reserved2:6; uint8_t bss_color:6; uint8_t partial_bss_col:1; uint8_t bss_col_disabled:1; @@ -9033,6 +9080,17 @@ typedef struct sDot11fIEhe_op { uint8_t data; } info; /* co_located_bss = 1 */ } maxbssid_ind; + union { + struct { + uint8_t primary_ch; + uint8_t ch_width:2; + uint8_t dup_bcon:1; + uint8_t reserved:5; + uint8_t center_freq_seg0; + uint8_t center_freq_seg1; + uint8_t min_rate; + } info; /* oper_info_6g_present = 1 */ + } oper_info_6g; } tDot11fIEhe_op; #define DOT11F_EID_HE_OP (255) @@ -9040,7 +9098,7 @@ typedef struct sDot11fIEhe_op { /* N.B. These #defines do *not* include the EID & length */ #define DOT11F_IE_HE_OP_MIN_LEN (6) -#define DOT11F_IE_HE_OP_MAX_LEN (10) +#define DOT11F_IE_HE_OP_MAX_LEN (15) #ifdef __cplusplus extern "C" { @@ -9587,6 +9645,7 @@ typedef struct sDot11fAssocRequest{ tDot11fIEhs20vendor_ie hs20vendor_ie; tDot11fIEqcn_ie qcn_ie; tDot11fIEhe_cap he_cap; + tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; tDot11fIEosen_ie osen_ie; tDot11fIEroaming_consortium_sel roaming_consortium_sel; } tDot11fAssocRequest; @@ -9653,6 +9712,7 @@ typedef struct sDot11fAssocResponse{ tDot11fIEqcn_ie qcn_ie; tDot11fIEhe_cap he_cap; tDot11fIEhe_op he_op; + tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; tDot11fIEbss_color_change bss_color_change; tDot11fIEmu_edca_param_set mu_edca_param_set; tDot11fIEMBO_IE MBO_IE; @@ -9776,6 +9836,7 @@ typedef struct sDot11fBeacon{ tDot11fIEqcn_ie qcn_ie; tDot11fIEhe_cap he_cap; tDot11fIEhe_op he_op; + tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; tDot11fIEbss_color_change bss_color_change; tDot11fIEmu_edca_param_set mu_edca_param_set; tDot11fIEesp_information esp_information; @@ -9878,6 +9939,7 @@ typedef struct sDot11fBeacon2{ tDot11fIEqcn_ie qcn_ie; tDot11fIEhe_cap he_cap; tDot11fIEhe_op he_op; + tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; tDot11fIEbss_color_change bss_color_change; tDot11fIEmu_edca_param_set mu_edca_param_set; tDot11fIEesp_information esp_information; @@ -9961,6 +10023,7 @@ typedef struct sDot11fBeaconIEs{ tDot11fIEqcn_ie qcn_ie; tDot11fIEhe_cap he_cap; tDot11fIEhe_op he_op; + tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; tDot11fIEbss_color_change bss_color_change; tDot11fIEmu_edca_param_set mu_edca_param_set; tDot11fIEesp_information esp_information; @@ -10290,19 +10353,20 @@ uint32_t dot11f_get_packed_operating_mode_size(tpAniSirGlobal pCtx, #endif /* C++ */ typedef struct sDot11fProbeRequest{ - tDot11fIESSID SSID; - tDot11fIESuppRates SuppRates; - tDot11fIERequestedInfo RequestedInfo; - tDot11fIEExtSuppRates ExtSuppRates; - tDot11fIEDSParams DSParams; - tDot11fIEHTCaps HTCaps; - tDot11fIEWscProbeReq WscProbeReq; - tDot11fIEWFATPC WFATPC; - tDot11fIEP2PProbeReq P2PProbeReq; - tDot11fIEVHTCaps VHTCaps; - tDot11fIEExtCap ExtCap; - tDot11fIEqcn_ie qcn_ie; - tDot11fIEhe_cap he_cap; + tDot11fIESSID SSID; + tDot11fIESuppRates SuppRates; + tDot11fIERequestedInfo RequestedInfo; + tDot11fIEExtSuppRates ExtSuppRates; + tDot11fIEDSParams DSParams; + tDot11fIEHTCaps HTCaps; + tDot11fIEWscProbeReq WscProbeReq; + tDot11fIEWFATPC WFATPC; + tDot11fIEP2PProbeReq P2PProbeReq; + tDot11fIEVHTCaps VHTCaps; + tDot11fIEExtCap ExtCap; + tDot11fIEqcn_ie qcn_ie; + tDot11fIEhe_cap he_cap; + tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; } tDot11fProbeRequest; #define DOT11F_PROBEREQUEST (21) @@ -10382,6 +10446,7 @@ typedef struct sDot11fProbeResponse{ tDot11fIEqcn_ie qcn_ie; tDot11fIEhe_cap he_cap; tDot11fIEhe_op he_op; + tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; tDot11fIEbss_color_change bss_color_change; tDot11fIEmu_edca_param_set mu_edca_param_set; tDot11fIEesp_information esp_information; @@ -10528,6 +10593,7 @@ typedef struct sDot11fReAssocRequest{ tDot11fIEvendor_vht_ie vendor_vht_ie; tDot11fIEhs20vendor_ie hs20vendor_ie; tDot11fIEhe_cap he_cap; + tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; } tDot11fReAssocRequest; #define DOT11F_REASSOCREQUEST (26) @@ -10586,6 +10652,7 @@ typedef struct sDot11fReAssocResponse{ tDot11fIEvendor_vht_ie vendor_vht_ie; tDot11fIEhe_cap he_cap; tDot11fIEhe_op he_op; + tDot11fIEhe_6ghz_band_cap he_6ghz_band_cap; tDot11fIEbss_color_change bss_color_change; tDot11fIEmu_edca_param_set mu_edca_param_set; tDot11fIEMBO_IE MBO_IE; diff --git a/core/mac/src/sys/legacy/src/utils/src/dot11f.c b/core/mac/src/sys/legacy/src/utils/src/dot11f.c index dc2421a84e27..520454e2b6e9 100644 --- a/core/mac/src/sys/legacy/src/utils/src/dot11f.c +++ b/core/mac/src/sys/legacy/src/utils/src/dot11f.c @@ -24,7 +24,7 @@ * * * This file was automatically generated by 'framesc' - * Wed Aug 7 14:47:51 2019 from the following file(s): + * Fri Sep 13 10:34:49 2019 from the following file(s): * * dot11f.frms * @@ -8715,6 +8715,39 @@ uint32_t dot11f_unpack_ie_fragment_ie(tpAniSirGlobal pCtx, #define SigIefragment_ie (0x008d) +uint32_t dot11f_unpack_ie_he_6ghz_band_cap(tpAniSirGlobal pCtx, + uint8_t *pBuf, + uint8_t ielen, + tDot11fIEhe_6ghz_band_cap *pDst, + bool append_ie) +{ + uint32_t status = DOT11F_PARSE_SUCCESS; + uint16_t tmp77__; + (void) pBuf; (void)ielen; /* Shutup the compiler */ + if (pDst->present) + return DOT11F_DUPLICATE_IE; + pDst->present = 1; + if (unlikely(ielen < 2)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohs(pCtx, &tmp77__, pBuf, 0); + pDst->min_mpdu_start_spacing = tmp77__ >> 0 & 0x7; + pDst->max_ampdu_len_exp = tmp77__ >> 3 & 0x7; + pDst->max_mpdu_len = tmp77__ >> 6 & 0x7; + pDst->sm_pow_save = tmp77__ >> 9 & 0x3; + pDst->rd_responder = tmp77__ >> 11 & 0x1; + pDst->rx_ant_pattern_consistency = tmp77__ >> 12 & 0x1; + pDst->tx_ant_pattern_consistency = tmp77__ >> 13 & 0x1; + pDst->reserved = tmp77__ >> 14 & 0x3; + (void)pCtx; + return status; +} /* End dot11f_unpack_ie_he_6ghz_band_cap. */ + +#define SigIehe_6ghz_band_cap (0x008e) + + uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, uint8_t *pBuf, uint8_t ielen, @@ -8722,11 +8755,11 @@ uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint32_t tmp77__; - uint16_t tmp78__; - uint32_t tmp79__; + uint32_t tmp78__; + uint16_t tmp79__; uint32_t tmp80__; - uint16_t tmp81__; + uint32_t tmp81__; + uint16_t tmp82__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -8736,84 +8769,54 @@ uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohl(pCtx, &tmp77__, pBuf, 0); + framesntohl(pCtx, &tmp78__, pBuf, 0); pBuf += 4; ielen -= 4; - pDst->htc_he = tmp77__ >> 0 & 0x1; - pDst->twt_request = tmp77__ >> 1 & 0x1; - pDst->twt_responder = tmp77__ >> 2 & 0x1; - pDst->fragmentation = tmp77__ >> 3 & 0x3; - pDst->max_num_frag_msdu_amsdu_exp = tmp77__ >> 5 & 0x7; - pDst->min_frag_size = tmp77__ >> 8 & 0x3; - pDst->trigger_frm_mac_pad = tmp77__ >> 10 & 0x3; - pDst->multi_tid_aggr_rx_supp = tmp77__ >> 12 & 0x7; - pDst->he_link_adaptation = tmp77__ >> 15 & 0x3; - pDst->all_ack = tmp77__ >> 17 & 0x1; - pDst->trigd_rsp_sched = tmp77__ >> 18 & 0x1; - pDst->a_bsr = tmp77__ >> 19 & 0x1; - pDst->broadcast_twt = tmp77__ >> 20 & 0x1; - pDst->ba_32bit_bitmap = tmp77__ >> 21 & 0x1; - pDst->mu_cascade = tmp77__ >> 22 & 0x1; - pDst->ack_enabled_multitid = tmp77__ >> 23 & 0x1; - pDst->reserved = tmp77__ >> 24 & 0x1; - pDst->omi_a_ctrl = tmp77__ >> 25 & 0x1; - pDst->ofdma_ra = tmp77__ >> 26 & 0x1; - pDst->max_ampdu_len_exp_ext = tmp77__ >> 27 & 0x3; - pDst->amsdu_frag = tmp77__ >> 29 & 0x1; - pDst->flex_twt_sched = tmp77__ >> 30 & 0x1; - pDst->rx_ctrl_frame = tmp77__ >> 31 & 0x1; + pDst->htc_he = tmp78__ >> 0 & 0x1; + pDst->twt_request = tmp78__ >> 1 & 0x1; + pDst->twt_responder = tmp78__ >> 2 & 0x1; + pDst->fragmentation = tmp78__ >> 3 & 0x3; + pDst->max_num_frag_msdu_amsdu_exp = tmp78__ >> 5 & 0x7; + pDst->min_frag_size = tmp78__ >> 8 & 0x3; + pDst->trigger_frm_mac_pad = tmp78__ >> 10 & 0x3; + pDst->multi_tid_aggr_rx_supp = tmp78__ >> 12 & 0x7; + pDst->he_link_adaptation = tmp78__ >> 15 & 0x3; + pDst->all_ack = tmp78__ >> 17 & 0x1; + pDst->trigd_rsp_sched = tmp78__ >> 18 & 0x1; + pDst->a_bsr = tmp78__ >> 19 & 0x1; + pDst->broadcast_twt = tmp78__ >> 20 & 0x1; + pDst->ba_32bit_bitmap = tmp78__ >> 21 & 0x1; + pDst->mu_cascade = tmp78__ >> 22 & 0x1; + pDst->ack_enabled_multitid = tmp78__ >> 23 & 0x1; + pDst->reserved = tmp78__ >> 24 & 0x1; + pDst->omi_a_ctrl = tmp78__ >> 25 & 0x1; + pDst->ofdma_ra = tmp78__ >> 26 & 0x1; + pDst->max_ampdu_len_exp_ext = tmp78__ >> 27 & 0x3; + pDst->amsdu_frag = tmp78__ >> 29 & 0x1; + pDst->flex_twt_sched = tmp78__ >> 30 & 0x1; + pDst->rx_ctrl_frame = tmp78__ >> 31 & 0x1; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp78__, pBuf, 0); + framesntohs(pCtx, &tmp79__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->bsrp_ampdu_aggr = tmp78__ >> 0 & 0x1; - pDst->qtp = tmp78__ >> 1 & 0x1; - pDst->a_bqr = tmp78__ >> 2 & 0x1; - pDst->spatial_reuse_param_rspder = tmp78__ >> 3 & 0x1; - pDst->ndp_feedback_supp = tmp78__ >> 4 & 0x1; - pDst->ops_supp = tmp78__ >> 5 & 0x1; - pDst->amsdu_in_ampdu = tmp78__ >> 6 & 0x1; - pDst->multi_tid_aggr_tx_supp = tmp78__ >> 7 & 0x7; - pDst->he_sub_ch_sel_tx_supp = tmp78__ >> 10 & 0x1; - pDst->ul_2x996_tone_ru_supp = tmp78__ >> 11 & 0x1; - pDst->om_ctrl_ul_mu_data_dis_rx = tmp78__ >> 12 & 0x1; - pDst->he_dynamic_smps = tmp78__ >> 13 & 0x1; - pDst->punctured_sounding_supp = tmp78__ >> 14 & 0x1; - pDst->ht_vht_trg_frm_rx_supp = tmp78__ >> 15 & 0x1; - if (unlikely(ielen < 4)) { - pDst->present = 0; - return DOT11F_INCOMPLETE_IE; - } - - framesntohl(pCtx, &tmp79__, pBuf, 0); - pBuf += 4; - ielen -= 4; - pDst->reserved2 = tmp79__ >> 0 & 0x1; - pDst->chan_width_0 = tmp79__ >> 1 & 0x1; - pDst->chan_width_1 = tmp79__ >> 2 & 0x1; - pDst->chan_width_2 = tmp79__ >> 3 & 0x1; - pDst->chan_width_3 = tmp79__ >> 4 & 0x1; - pDst->chan_width_4 = tmp79__ >> 5 & 0x1; - pDst->chan_width_5 = tmp79__ >> 6 & 0x1; - pDst->chan_width_6 = tmp79__ >> 7 & 0x1; - pDst->rx_pream_puncturing = tmp79__ >> 8 & 0xf; - pDst->device_class = tmp79__ >> 12 & 0x1; - pDst->ldpc_coding = tmp79__ >> 13 & 0x1; - pDst->he_1x_ltf_800_gi_ppdu = tmp79__ >> 14 & 0x1; - pDst->midamble_tx_rx_max_nsts = tmp79__ >> 15 & 0x3; - pDst->he_4x_ltf_3200_gi_ndp = tmp79__ >> 17 & 0x1; - pDst->tb_ppdu_tx_stbc_lt_80mhz = tmp79__ >> 18 & 0x1; - pDst->rx_stbc_lt_80mhz = tmp79__ >> 19 & 0x1; - pDst->doppler = tmp79__ >> 20 & 0x3; - pDst->ul_mu = tmp79__ >> 22 & 0x3; - pDst->dcm_enc_tx = tmp79__ >> 24 & 0x7; - pDst->dcm_enc_rx = tmp79__ >> 27 & 0x7; - pDst->ul_he_mu = tmp79__ >> 30 & 0x1; - pDst->su_beamformer = tmp79__ >> 31 & 0x1; + pDst->bsrp_ampdu_aggr = tmp79__ >> 0 & 0x1; + pDst->qtp = tmp79__ >> 1 & 0x1; + pDst->a_bqr = tmp79__ >> 2 & 0x1; + pDst->spatial_reuse_param_rspder = tmp79__ >> 3 & 0x1; + pDst->ndp_feedback_supp = tmp79__ >> 4 & 0x1; + pDst->ops_supp = tmp79__ >> 5 & 0x1; + pDst->amsdu_in_ampdu = tmp79__ >> 6 & 0x1; + pDst->multi_tid_aggr_tx_supp = tmp79__ >> 7 & 0x7; + pDst->he_sub_ch_sel_tx_supp = tmp79__ >> 10 & 0x1; + pDst->ul_2x996_tone_ru_supp = tmp79__ >> 11 & 0x1; + pDst->om_ctrl_ul_mu_data_dis_rx = tmp79__ >> 12 & 0x1; + pDst->he_dynamic_smps = tmp79__ >> 13 & 0x1; + pDst->punctured_sounding_supp = tmp79__ >> 14 & 0x1; + pDst->ht_vht_trg_frm_rx_supp = tmp79__ >> 15 & 0x1; if (unlikely(ielen < 4)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -8822,48 +8825,78 @@ uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, framesntohl(pCtx, &tmp80__, pBuf, 0); pBuf += 4; ielen -= 4; - pDst->su_beamformee = tmp80__ >> 0 & 0x1; - pDst->mu_beamformer = tmp80__ >> 1 & 0x1; - pDst->bfee_sts_lt_80 = tmp80__ >> 2 & 0x7; - pDst->bfee_sts_gt_80 = tmp80__ >> 5 & 0x7; - pDst->num_sounding_lt_80 = tmp80__ >> 8 & 0x7; - pDst->num_sounding_gt_80 = tmp80__ >> 11 & 0x7; - pDst->su_feedback_tone16 = tmp80__ >> 14 & 0x1; - pDst->mu_feedback_tone16 = tmp80__ >> 15 & 0x1; - pDst->codebook_su = tmp80__ >> 16 & 0x1; - pDst->codebook_mu = tmp80__ >> 17 & 0x1; - pDst->beamforming_feedback = tmp80__ >> 18 & 0x7; - pDst->he_er_su_ppdu = tmp80__ >> 21 & 0x1; - pDst->dl_mu_mimo_part_bw = tmp80__ >> 22 & 0x1; - pDst->ppet_present = tmp80__ >> 23 & 0x1; - pDst->srp = tmp80__ >> 24 & 0x1; - pDst->power_boost = tmp80__ >> 25 & 0x1; - pDst->he_ltf_800_gi_4x = tmp80__ >> 26 & 0x1; - pDst->max_nc = tmp80__ >> 27 & 0x7; - pDst->tb_ppdu_tx_stbc_gt_80mhz = tmp80__ >> 30 & 0x1; - pDst->rx_stbc_gt_80mhz = tmp80__ >> 31 & 0x1; + pDst->reserved2 = tmp80__ >> 0 & 0x1; + pDst->chan_width_0 = tmp80__ >> 1 & 0x1; + pDst->chan_width_1 = tmp80__ >> 2 & 0x1; + pDst->chan_width_2 = tmp80__ >> 3 & 0x1; + pDst->chan_width_3 = tmp80__ >> 4 & 0x1; + pDst->chan_width_4 = tmp80__ >> 5 & 0x1; + pDst->chan_width_5 = tmp80__ >> 6 & 0x1; + pDst->chan_width_6 = tmp80__ >> 7 & 0x1; + pDst->rx_pream_puncturing = tmp80__ >> 8 & 0xf; + pDst->device_class = tmp80__ >> 12 & 0x1; + pDst->ldpc_coding = tmp80__ >> 13 & 0x1; + pDst->he_1x_ltf_800_gi_ppdu = tmp80__ >> 14 & 0x1; + pDst->midamble_tx_rx_max_nsts = tmp80__ >> 15 & 0x3; + pDst->he_4x_ltf_3200_gi_ndp = tmp80__ >> 17 & 0x1; + pDst->tb_ppdu_tx_stbc_lt_80mhz = tmp80__ >> 18 & 0x1; + pDst->rx_stbc_lt_80mhz = tmp80__ >> 19 & 0x1; + pDst->doppler = tmp80__ >> 20 & 0x3; + pDst->ul_mu = tmp80__ >> 22 & 0x3; + pDst->dcm_enc_tx = tmp80__ >> 24 & 0x7; + pDst->dcm_enc_rx = tmp80__ >> 27 & 0x7; + pDst->ul_he_mu = tmp80__ >> 30 & 0x1; + pDst->su_beamformer = tmp80__ >> 31 & 0x1; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &tmp81__, pBuf, 0); + pBuf += 4; + ielen -= 4; + pDst->su_beamformee = tmp81__ >> 0 & 0x1; + pDst->mu_beamformer = tmp81__ >> 1 & 0x1; + pDst->bfee_sts_lt_80 = tmp81__ >> 2 & 0x7; + pDst->bfee_sts_gt_80 = tmp81__ >> 5 & 0x7; + pDst->num_sounding_lt_80 = tmp81__ >> 8 & 0x7; + pDst->num_sounding_gt_80 = tmp81__ >> 11 & 0x7; + pDst->su_feedback_tone16 = tmp81__ >> 14 & 0x1; + pDst->mu_feedback_tone16 = tmp81__ >> 15 & 0x1; + pDst->codebook_su = tmp81__ >> 16 & 0x1; + pDst->codebook_mu = tmp81__ >> 17 & 0x1; + pDst->beamforming_feedback = tmp81__ >> 18 & 0x7; + pDst->he_er_su_ppdu = tmp81__ >> 21 & 0x1; + pDst->dl_mu_mimo_part_bw = tmp81__ >> 22 & 0x1; + pDst->ppet_present = tmp81__ >> 23 & 0x1; + pDst->srp = tmp81__ >> 24 & 0x1; + pDst->power_boost = tmp81__ >> 25 & 0x1; + pDst->he_ltf_800_gi_4x = tmp81__ >> 26 & 0x1; + pDst->max_nc = tmp81__ >> 27 & 0x7; + pDst->tb_ppdu_tx_stbc_gt_80mhz = tmp81__ >> 30 & 0x1; + pDst->rx_stbc_gt_80mhz = tmp81__ >> 31 & 0x1; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp81__, pBuf, 0); + framesntohs(pCtx, &tmp82__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->er_he_ltf_800_gi_4x = tmp81__ >> 0 & 0x1; - pDst->he_ppdu_20_in_40Mhz_2G = tmp81__ >> 1 & 0x1; - pDst->he_ppdu_20_in_160_80p80Mhz = tmp81__ >> 2 & 0x1; - pDst->he_ppdu_80_in_160_80p80Mhz = tmp81__ >> 3 & 0x1; - pDst->er_1x_he_ltf_gi = tmp81__ >> 4 & 0x1; - pDst->midamble_tx_rx_1x_he_ltf = tmp81__ >> 5 & 0x1; - pDst->dcm_max_bw = tmp81__ >> 6 & 0x3; - pDst->longer_than_16_he_sigb_ofdm_sym = tmp81__ >> 8 & 0x1; - pDst->non_trig_cqi_feedback = tmp81__ >> 9 & 0x1; - pDst->tx_1024_qam_lt_242_tone_ru = tmp81__ >> 10 & 0x1; - pDst->rx_1024_qam_lt_242_tone_ru = tmp81__ >> 11 & 0x1; - pDst->rx_full_bw_su_he_mu_compress_sigb = tmp81__ >> 12 & 0x1; - pDst->rx_full_bw_su_he_mu_non_cmpr_sigb = tmp81__ >> 13 & 0x1; - pDst->reserved3 = tmp81__ >> 14 & 0x3; + pDst->er_he_ltf_800_gi_4x = tmp82__ >> 0 & 0x1; + pDst->he_ppdu_20_in_40Mhz_2G = tmp82__ >> 1 & 0x1; + pDst->he_ppdu_20_in_160_80p80Mhz = tmp82__ >> 2 & 0x1; + pDst->he_ppdu_80_in_160_80p80Mhz = tmp82__ >> 3 & 0x1; + pDst->er_1x_he_ltf_gi = tmp82__ >> 4 & 0x1; + pDst->midamble_tx_rx_1x_he_ltf = tmp82__ >> 5 & 0x1; + pDst->dcm_max_bw = tmp82__ >> 6 & 0x3; + pDst->longer_than_16_he_sigb_ofdm_sym = tmp82__ >> 8 & 0x1; + pDst->non_trig_cqi_feedback = tmp82__ >> 9 & 0x1; + pDst->tx_1024_qam_lt_242_tone_ru = tmp82__ >> 10 & 0x1; + pDst->rx_1024_qam_lt_242_tone_ru = tmp82__ >> 11 & 0x1; + pDst->rx_full_bw_su_he_mu_compress_sigb = tmp82__ >> 12 & 0x1; + pDst->rx_full_bw_su_he_mu_non_cmpr_sigb = tmp82__ >> 13 & 0x1; + pDst->reserved3 = tmp82__ >> 14 & 0x3; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -8957,7 +8990,7 @@ uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_he_cap. */ -#define SigIehe_cap (0x008e) +#define SigIehe_cap (0x008f) uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, @@ -8967,9 +9000,10 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint16_t tmp82__; - uint8_t tmp83__; + uint16_t tmp83__; uint8_t tmp84__; + uint8_t tmp85__; + uint8_t tmp86__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -8979,24 +9013,14 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp82__, pBuf, 0); + framesntohs(pCtx, &tmp83__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->default_pe = tmp82__ >> 0 & 0x7; - pDst->twt_required = tmp82__ >> 3 & 0x1; - pDst->txop_rts_threshold = tmp82__ >> 4 & 0x3ff; - pDst->vht_oper_present = tmp82__ >> 14 & 0x1; - pDst->co_located_bss = tmp82__ >> 15 & 0x1; - if (unlikely(ielen < 1)) { - pDst->present = 0; - return DOT11F_INCOMPLETE_IE; - } - - tmp83__ = *pBuf; - pBuf += 1; - ielen -= 1; - pDst->er_su_disable = tmp83__ >> 0 & 0x1; - pDst->reserved2 = tmp83__ >> 1 & 0x7f; + pDst->default_pe = tmp83__ >> 0 & 0x7; + pDst->twt_required = tmp83__ >> 3 & 0x1; + pDst->txop_rts_threshold = tmp83__ >> 4 & 0x3ff; + pDst->vht_oper_present = tmp83__ >> 14 & 0x1; + pDst->co_located_bss = tmp83__ >> 15 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9005,9 +9029,20 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, tmp84__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->bss_color = tmp84__ >> 0 & 0x3f; - pDst->partial_bss_col = tmp84__ >> 6 & 0x1; - pDst->bss_col_disabled = tmp84__ >> 7 & 0x1; + pDst->er_su_disable = tmp84__ >> 0 & 0x1; + pDst->oper_info_6g_present = tmp84__ >> 1 & 0x1; + pDst->reserved2 = tmp84__ >> 2 & 0x3f; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + tmp85__ = *pBuf; + pBuf += 1; + ielen -= 1; + pDst->bss_color = tmp85__ >> 0 & 0x3f; + pDst->partial_bss_col = tmp85__ >> 6 & 0x1; + pDst->bss_col_disabled = tmp85__ >> 7 & 0x1; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9056,11 +9091,58 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, ielen -= (uint8_t)1; break; } + switch (pDst->oper_info_6g_present) { + case 1: + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + pDst->oper_info_6g.info.primary_ch = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + tmp86__ = *pBuf; + pBuf += 1; + ielen -= 1; + pDst->oper_info_6g.info.ch_width = tmp86__ >> 0 & 0x3; + pDst->oper_info_6g.info.dup_bcon = tmp86__ >> 2 & 0x1; + pDst->oper_info_6g.info.reserved = tmp86__ >> 3 & 0x1f; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + pDst->oper_info_6g.info.center_freq_seg0 = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + pDst->oper_info_6g.info.center_freq_seg1 = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + pDst->oper_info_6g.info.min_rate = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + break; + } (void)pCtx; return status; } /* End dot11f_unpack_ie_he_op. */ -#define SigIehe_op (0x008f) +#define SigIehe_op (0x0090) uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, @@ -9070,7 +9152,7 @@ uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp85__; + uint8_t tmp87__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -9080,13 +9162,13 @@ uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp85__ = *pBuf; + tmp87__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->dgaf_dis = tmp85__ >> 0 & 0x1; - pDst->hs_id_present = tmp85__ >> 1 & 0x3; - pDst->reserved = tmp85__ >> 3 & 0x1; - pDst->release_num = tmp85__ >> 4 & 0xf; + pDst->dgaf_dis = tmp87__ >> 0 & 0x1; + pDst->hs_id_present = tmp87__ >> 1 & 0x3; + pDst->reserved = tmp87__ >> 3 & 0x1; + pDst->release_num = tmp87__ >> 4 & 0xf; if (!ielen) { return 0U; } else { @@ -9117,7 +9199,7 @@ uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_hs20vendor_ie. */ -#define SigIehs20vendor_ie (0x0090) +#define SigIehs20vendor_ie (0x0091) uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, @@ -9127,7 +9209,7 @@ uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp86__; + uint8_t tmp88__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -9137,18 +9219,18 @@ uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp86__ = *pBuf; - pDst->info_request = tmp86__ >> 0 & 0x1; - pDst->forty_mhz_intolerant = tmp86__ >> 1 & 0x1; - pDst->twenty_mhz_bsswidth_req = tmp86__ >> 2 & 0x1; - pDst->obss_scan_exemption_req = tmp86__ >> 3 & 0x1; - pDst->obss_scan_exemption_grant = tmp86__ >> 4 & 0x1; - pDst->unused = tmp86__ >> 5 & 0x7; + tmp88__ = *pBuf; + pDst->info_request = tmp88__ >> 0 & 0x1; + pDst->forty_mhz_intolerant = tmp88__ >> 1 & 0x1; + pDst->twenty_mhz_bsswidth_req = tmp88__ >> 2 & 0x1; + pDst->obss_scan_exemption_req = tmp88__ >> 3 & 0x1; + pDst->obss_scan_exemption_grant = tmp88__ >> 4 & 0x1; + pDst->unused = tmp88__ >> 5 & 0x7; (void)pCtx; return status; } /* End dot11f_unpack_ie_ht2040_bss_coexistence. */ -#define SigIeht2040_bss_coexistence (0x0091) +#define SigIeht2040_bss_coexistence (0x0092) uint32_t dot11f_unpack_ie_ht2040_bss_intolerant_report(tpAniSirGlobal pCtx, @@ -9181,7 +9263,7 @@ uint32_t dot11f_unpack_ie_ht2040_bss_intolerant_report(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ht2040_bss_intolerant_report. */ -#define SigIeht2040_bss_intolerant_report (0x0092) +#define SigIeht2040_bss_intolerant_report (0x0093) uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, @@ -9191,14 +9273,14 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp87__; - uint8_t tmp88__; uint8_t tmp89__; uint8_t tmp90__; uint8_t tmp91__; uint8_t tmp92__; uint8_t tmp93__; uint8_t tmp94__; + uint8_t tmp95__; + uint8_t tmp96__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -9216,23 +9298,23 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp87__ = *pBuf; + tmp89__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbe_aifsn = tmp87__ >> 0 & 0xf; - pDst->acbe_acm = tmp87__ >> 4 & 0x1; - pDst->acbe_aci = tmp87__ >> 5 & 0x3; - pDst->unused1 = tmp87__ >> 7 & 0x1; + pDst->acbe_aifsn = tmp89__ >> 0 & 0xf; + pDst->acbe_acm = tmp89__ >> 4 & 0x1; + pDst->acbe_aci = tmp89__ >> 5 & 0x3; + pDst->unused1 = tmp89__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp88__ = *pBuf; + tmp90__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbe_acwmin = tmp88__ >> 0 & 0xf; - pDst->acbe_acwmax = tmp88__ >> 4 & 0xf; + pDst->acbe_acwmin = tmp90__ >> 0 & 0xf; + pDst->acbe_acwmax = tmp90__ >> 4 & 0xf; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9246,23 +9328,23 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp89__ = *pBuf; + tmp91__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbk_aifsn = tmp89__ >> 0 & 0xf; - pDst->acbk_acm = tmp89__ >> 4 & 0x1; - pDst->acbk_aci = tmp89__ >> 5 & 0x3; - pDst->unused2 = tmp89__ >> 7 & 0x1; + pDst->acbk_aifsn = tmp91__ >> 0 & 0xf; + pDst->acbk_acm = tmp91__ >> 4 & 0x1; + pDst->acbk_aci = tmp91__ >> 5 & 0x3; + pDst->unused2 = tmp91__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp90__ = *pBuf; + tmp92__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbk_acwmin = tmp90__ >> 0 & 0xf; - pDst->acbk_acwmax = tmp90__ >> 4 & 0xf; + pDst->acbk_acwmin = tmp92__ >> 0 & 0xf; + pDst->acbk_acwmax = tmp92__ >> 4 & 0xf; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9276,23 +9358,23 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp91__ = *pBuf; + tmp93__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvi_aifsn = tmp91__ >> 0 & 0xf; - pDst->acvi_acm = tmp91__ >> 4 & 0x1; - pDst->acvi_aci = tmp91__ >> 5 & 0x3; - pDst->unused3 = tmp91__ >> 7 & 0x1; + pDst->acvi_aifsn = tmp93__ >> 0 & 0xf; + pDst->acvi_acm = tmp93__ >> 4 & 0x1; + pDst->acvi_aci = tmp93__ >> 5 & 0x3; + pDst->unused3 = tmp93__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp92__ = *pBuf; + tmp94__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvi_acwmin = tmp92__ >> 0 & 0xf; - pDst->acvi_acwmax = tmp92__ >> 4 & 0xf; + pDst->acvi_acwmin = tmp94__ >> 0 & 0xf; + pDst->acvi_acwmax = tmp94__ >> 4 & 0xf; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9306,23 +9388,23 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp93__ = *pBuf; + tmp95__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvo_aifsn = tmp93__ >> 0 & 0xf; - pDst->acvo_acm = tmp93__ >> 4 & 0x1; - pDst->acvo_aci = tmp93__ >> 5 & 0x3; - pDst->unused4 = tmp93__ >> 7 & 0x1; + pDst->acvo_aifsn = tmp95__ >> 0 & 0xf; + pDst->acvo_acm = tmp95__ >> 4 & 0x1; + pDst->acvo_aci = tmp95__ >> 5 & 0x3; + pDst->unused4 = tmp95__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp94__ = *pBuf; + tmp96__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvo_acwmin = tmp94__ >> 0 & 0xf; - pDst->acvo_acwmax = tmp94__ >> 4 & 0xf; + pDst->acvo_acwmin = tmp96__ >> 0 & 0xf; + pDst->acvo_acwmax = tmp96__ >> 4 & 0xf; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9333,7 +9415,7 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_mu_edca_param_set. */ -#define SigIemu_edca_param_set (0x0093) +#define SigIemu_edca_param_set (0x0094) uint32_t dot11f_unpack_ie_osen_ie(tpAniSirGlobal pCtx, @@ -9353,7 +9435,7 @@ uint32_t dot11f_unpack_ie_osen_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_osen_ie. */ -#define SigIeosen_ie (0x0094) +#define SigIeosen_ie (0x0095) static const tFFDefn FFS_qcn_ie[] = { @@ -9395,7 +9477,7 @@ uint32_t dot11f_unpack_ie_qcn_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qcn_ie. */ -#define SigIeqcn_ie (0x0095) +#define SigIeqcn_ie (0x0096) uint32_t dot11f_unpack_ie_roaming_consortium_sel(tpAniSirGlobal pCtx, @@ -9415,7 +9497,7 @@ uint32_t dot11f_unpack_ie_roaming_consortium_sel(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_roaming_consortium_sel. */ -#define SigIeroaming_consortium_sel (0x0096) +#define SigIeroaming_consortium_sel (0x0097) uint32_t dot11f_unpack_ie_sec_chan_offset_ele(tpAniSirGlobal pCtx, @@ -9439,7 +9521,7 @@ uint32_t dot11f_unpack_ie_sec_chan_offset_ele(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_sec_chan_offset_ele. */ -#define SigIesec_chan_offset_ele (0x0097) +#define SigIesec_chan_offset_ele (0x0098) static const tFFDefn FFS_vendor_vht_ie[] = { @@ -9488,7 +9570,7 @@ uint32_t dot11f_unpack_ie_vendor_vht_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor_vht_ie. */ -#define SigIevendor_vht_ie (0x0098) +#define SigIevendor_vht_ie (0x0099) static const tFFDefn FFS_AddTSRequest[] = { @@ -9751,6 +9833,10 @@ static const tIEDefn IES_AssocRequest[] = { { offsetof(tDot11fAssocRequest, he_cap), offsetof(tDot11fIEhe_cap, present), 0, "he_cap", 0, 23, 56, SigIehe_cap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_CAP, 35, 0, }, + { offsetof(tDot11fAssocRequest, he_6ghz_band_cap), + offsetof(tDot11fIEhe_6ghz_band_cap, present), 0, "he_6ghz_band_cap", + 0, 4, 4, SigIehe_6ghz_band_cap, {0, 0, 0, 0, 0}, + 0, DOT11F_EID_HE_6GHZ_BAND_CAP, 59, 0, }, { offsetof(tDot11fAssocRequest, osen_ie), offsetof(tDot11fIEosen_ie, present), 0, "osen_ie", 0, 6, 261, SigIeosen_ie, {80, 111, 154, 18, 0}, 4, DOT11F_EID_OSEN_IE, 0, 0, }, @@ -9912,8 +9998,12 @@ static const tIEDefn IES_AssocResponse[] = { present), 0, "he_cap", 0, 23, 56, SigIehe_cap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_CAP, 35, 0, }, { offsetof(tDot11fAssocResponse, he_op), offsetof(tDot11fIEhe_op, - present), 0, "he_op", 0, 8, 12, SigIehe_op, {0, 0, 0, 0, 0}, + present), 0, "he_op", 0, 8, 17, SigIehe_op, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_OP, 36, 0, }, + { offsetof(tDot11fAssocResponse, he_6ghz_band_cap), + offsetof(tDot11fIEhe_6ghz_band_cap, present), 0, "he_6ghz_band_cap", + 0, 4, 4, SigIehe_6ghz_band_cap, {0, 0, 0, 0, 0}, + 0, DOT11F_EID_HE_6GHZ_BAND_CAP, 59, 0, }, { offsetof(tDot11fAssocResponse, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", 0, 4, 4, SigIebss_color_change, {0, 0, 0, 0, 0}, @@ -10205,8 +10295,12 @@ static const tIEDefn IES_Beacon[] = { "he_cap", 0, 23, 56, SigIehe_cap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_CAP, 35, 0, }, { offsetof(tDot11fBeacon, he_op), offsetof(tDot11fIEhe_op, present), 0, - "he_op", 0, 8, 12, SigIehe_op, {0, 0, 0, 0, 0}, + "he_op", 0, 8, 17, SigIehe_op, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_OP, 36, 0, }, + { offsetof(tDot11fBeacon, he_6ghz_band_cap), + offsetof(tDot11fIEhe_6ghz_band_cap, present), 0, "he_6ghz_band_cap", + 0, 4, 4, SigIehe_6ghz_band_cap, {0, 0, 0, 0, 0}, + 0, DOT11F_EID_HE_6GHZ_BAND_CAP, 59, 0, }, { offsetof(tDot11fBeacon, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", 0, 4, 4, SigIebss_color_change, {0, 0, 0, 0, 0}, @@ -10435,8 +10529,12 @@ static const tIEDefn IES_Beacon2[] = { "he_cap", 0, 23, 56, SigIehe_cap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_CAP, 35, 0, }, { offsetof(tDot11fBeacon2, he_op), offsetof(tDot11fIEhe_op, present), 0, - "he_op", 0, 8, 12, SigIehe_op, {0, 0, 0, 0, 0}, + "he_op", 0, 8, 17, SigIehe_op, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_OP, 36, 0, }, + { offsetof(tDot11fBeacon2, he_6ghz_band_cap), + offsetof(tDot11fIEhe_6ghz_band_cap, present), 0, "he_6ghz_band_cap", + 0, 4, 4, SigIehe_6ghz_band_cap, {0, 0, 0, 0, 0}, + 0, DOT11F_EID_HE_6GHZ_BAND_CAP, 59, 0, }, { offsetof(tDot11fBeacon2, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", 0, 4, 4, SigIebss_color_change, {0, 0, 0, 0, 0}, @@ -10661,8 +10759,12 @@ static const tIEDefn IES_BeaconIEs[] = { 0, "he_cap", 0, 23, 56, SigIehe_cap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_CAP, 35, 0, }, { offsetof(tDot11fBeaconIEs, he_op), offsetof(tDot11fIEhe_op, present), 0, - "he_op", 0, 8, 12, SigIehe_op, {0, 0, 0, 0, 0}, + "he_op", 0, 8, 17, SigIehe_op, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_OP, 36, 0, }, + { offsetof(tDot11fBeaconIEs, he_6ghz_band_cap), + offsetof(tDot11fIEhe_6ghz_band_cap, present), 0, "he_6ghz_band_cap", + 0, 4, 4, SigIehe_6ghz_band_cap, {0, 0, 0, 0, 0}, + 0, DOT11F_EID_HE_6GHZ_BAND_CAP, 59, 0, }, { offsetof(tDot11fBeaconIEs, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", 0, 4, 4, SigIebss_color_change, {0, 0, 0, 0, 0}, @@ -11095,6 +11197,10 @@ static const tIEDefn IES_ProbeRequest[] = { { offsetof(tDot11fProbeRequest, he_cap), offsetof(tDot11fIEhe_cap, present), 0, "he_cap", 0, 23, 56, SigIehe_cap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_CAP, 35, 0, }, + { offsetof(tDot11fProbeRequest, he_6ghz_band_cap), + offsetof(tDot11fIEhe_6ghz_band_cap, present), 0, "he_6ghz_band_cap", + 0, 4, 4, SigIehe_6ghz_band_cap, {0, 0, 0, 0, 0}, + 0, DOT11F_EID_HE_6GHZ_BAND_CAP, 59, 0, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; uint32_t dot11f_unpack_probe_request(tpAniSirGlobal pCtx, @@ -11306,8 +11412,12 @@ static const tIEDefn IES_ProbeResponse[] = { present), 0, "he_cap", 0, 23, 56, SigIehe_cap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_CAP, 35, 0, }, { offsetof(tDot11fProbeResponse, he_op), offsetof(tDot11fIEhe_op, - present), 0, "he_op", 0, 8, 12, SigIehe_op, {0, 0, 0, 0, 0}, + present), 0, "he_op", 0, 8, 17, SigIehe_op, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_OP, 36, 0, }, + { offsetof(tDot11fProbeResponse, he_6ghz_band_cap), + offsetof(tDot11fIEhe_6ghz_band_cap, present), 0, "he_6ghz_band_cap", + 0, 4, 4, SigIehe_6ghz_band_cap, {0, 0, 0, 0, 0}, + 0, DOT11F_EID_HE_6GHZ_BAND_CAP, 59, 0, }, { offsetof(tDot11fProbeResponse, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", 0, 4, 4, SigIebss_color_change, {0, 0, 0, 0, 0}, @@ -11568,6 +11678,10 @@ static const tIEDefn IES_ReAssocRequest[] = { { offsetof(tDot11fReAssocRequest, he_cap), offsetof(tDot11fIEhe_cap, present), 0, "he_cap", 0, 23, 56, SigIehe_cap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_CAP, 35, 0, }, + { offsetof(tDot11fReAssocRequest, he_6ghz_band_cap), + offsetof(tDot11fIEhe_6ghz_band_cap, present), 0, "he_6ghz_band_cap", + 0, 4, 4, SigIehe_6ghz_band_cap, {0, 0, 0, 0, 0}, + 0, DOT11F_EID_HE_6GHZ_BAND_CAP, 59, 0, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; uint32_t dot11f_unpack_re_assoc_request(tpAniSirGlobal pCtx, @@ -11705,8 +11819,12 @@ static const tIEDefn IES_ReAssocResponse[] = { present), 0, "he_cap", 0, 23, 56, SigIehe_cap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_CAP, 35, 0, }, { offsetof(tDot11fReAssocResponse, he_op), offsetof(tDot11fIEhe_op, - present), 0, "he_op", 0, 8, 12, SigIehe_op, {0, 0, 0, 0, 0}, + present), 0, "he_op", 0, 8, 17, SigIehe_op, {0, 0, 0, 0, 0}, 0, DOT11F_EID_HE_OP, 36, 0, }, + { offsetof(tDot11fReAssocResponse, he_6ghz_band_cap), + offsetof(tDot11fIEhe_6ghz_band_cap, present), 0, "he_6ghz_band_cap", + 0, 4, 4, SigIehe_6ghz_band_cap, {0, 0, 0, 0, 0}, + 0, DOT11F_EID_HE_6GHZ_BAND_CAP, 59, 0, }, { offsetof(tDot11fReAssocResponse, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", 0, 4, 4, SigIebss_color_change, {0, 0, 0, 0, 0}, @@ -14527,6 +14645,16 @@ static uint32_t unpack_core(tpAniSirGlobal pCtx, countOffset), append_ie); break; + case SigIehe_6ghz_band_cap: + status |= + dot11f_unpack_ie_he_6ghz_band_cap( + pCtx, pBufRemaining, len, + (tDot11fIEhe_6ghz_band_cap *) + (pFrm + pIe->offset + + sizeof(tDot11fIEhe_6ghz_band_cap) * + countOffset), + append_ie); + break; case SigIehe_cap: status |= dot11f_unpack_ie_he_cap( @@ -15945,8 +16073,6 @@ uint32_t dot11f_get_packed_ie_he_op(tpAniSirGlobal pCtx, *pnNeeded += 1; break; } - } else { - break; } if (pIe->co_located_bss) { switch (pIe->co_located_bss) { @@ -15954,8 +16080,17 @@ uint32_t dot11f_get_packed_ie_he_op(tpAniSirGlobal pCtx, *pnNeeded += 1; break; } - } else { - break; + } + if (pIe->oper_info_6g_present) { + switch (pIe->oper_info_6g_present) { + case 1: + *pnNeeded += 1; + *pnNeeded += 1; + *pnNeeded += 1; + *pnNeeded += 1; + *pnNeeded += 1; + break; + } } break; } @@ -17658,6 +17793,13 @@ static uint32_t get_packed_size_core(tpAniSirGlobal pCtx, (pFrm + pIe->offset + offset * i))-> present; break; + case SigIehe_6ghz_band_cap: + offset = sizeof(tDot11fIEhe_6ghz_band_cap); + byteCount = 2; + pIePresent = ((tDot11fIEhe_6ghz_band_cap *) + (pFrm + pIe->offset + offset * i))-> + present; + break; case SigIehe_cap: offset = sizeof(tDot11fIEhe_cap); status |= @@ -18085,25 +18227,25 @@ void dot11f_pack_ff_capabilities(tpAniSirGlobal pCtx, tDot11fFfCapabilities *pSrc, uint8_t *pBuf) { - uint16_t tmp95__; - tmp95__ = 0U; - tmp95__ |= (pSrc->ess << 0); - tmp95__ |= (pSrc->ibss << 1); - tmp95__ |= (pSrc->cfPollable << 2); - tmp95__ |= (pSrc->cfPollReq << 3); - tmp95__ |= (pSrc->privacy << 4); - tmp95__ |= (pSrc->shortPreamble << 5); - tmp95__ |= (pSrc->pbcc << 6); - tmp95__ |= (pSrc->channelAgility << 7); - tmp95__ |= (pSrc->spectrumMgt << 8); - tmp95__ |= (pSrc->qos << 9); - tmp95__ |= (pSrc->shortSlotTime << 10); - tmp95__ |= (pSrc->apsd << 11); - tmp95__ |= (pSrc->rrm << 12); - tmp95__ |= (pSrc->dsssOfdm << 13); - tmp95__ |= (pSrc->delayedBA << 14); - tmp95__ |= (pSrc->immediateBA << 15); - frameshtons(pCtx, pBuf, tmp95__, 0); + uint16_t tmp97__; + tmp97__ = 0U; + tmp97__ |= (pSrc->ess << 0); + tmp97__ |= (pSrc->ibss << 1); + tmp97__ |= (pSrc->cfPollable << 2); + tmp97__ |= (pSrc->cfPollReq << 3); + tmp97__ |= (pSrc->privacy << 4); + tmp97__ |= (pSrc->shortPreamble << 5); + tmp97__ |= (pSrc->pbcc << 6); + tmp97__ |= (pSrc->channelAgility << 7); + tmp97__ |= (pSrc->spectrumMgt << 8); + tmp97__ |= (pSrc->qos << 9); + tmp97__ |= (pSrc->shortSlotTime << 10); + tmp97__ |= (pSrc->apsd << 11); + tmp97__ |= (pSrc->rrm << 12); + tmp97__ |= (pSrc->dsssOfdm << 13); + tmp97__ |= (pSrc->delayedBA << 14); + tmp97__ |= (pSrc->immediateBA << 15); + frameshtons(pCtx, pBuf, tmp97__, 0); (void)pCtx; } /* End dot11f_pack_ff_capabilities. */ @@ -18167,13 +18309,13 @@ void dot11f_pack_ff_operating_mode(tpAniSirGlobal pCtx, tDot11fFfOperatingMode *pSrc, uint8_t *pBuf) { - uint8_t tmp96__; - tmp96__ = 0U; - tmp96__ |= (pSrc->chanWidth << 0); - tmp96__ |= (pSrc->reserved << 2); - tmp96__ |= (pSrc->rxNSS << 4); - tmp96__ |= (pSrc->rxNSSType << 7); - *pBuf = tmp96__; + uint8_t tmp98__; + tmp98__ = 0U; + tmp98__ |= (pSrc->chanWidth << 0); + tmp98__ |= (pSrc->reserved << 2); + tmp98__ |= (pSrc->rxNSS << 4); + tmp98__ |= (pSrc->rxNSSType << 7); + *pBuf = tmp98__; (void)pCtx; } /* End dot11f_pack_ff_operating_mode. */ @@ -18213,12 +18355,12 @@ void dot11f_pack_ff_sm_power_mode_set(tpAniSirGlobal pCtx, tDot11fFfSMPowerModeSet *pSrc, uint8_t *pBuf) { - uint8_t tmp97__; - tmp97__ = 0U; - tmp97__ |= (pSrc->PowerSave_En << 0); - tmp97__ |= (pSrc->Mode << 1); - tmp97__ |= (pSrc->reserved << 2); - *pBuf = tmp97__; + uint8_t tmp99__; + tmp99__ = 0U; + tmp99__ |= (pSrc->PowerSave_En << 0); + tmp99__ |= (pSrc->Mode << 1); + tmp99__ |= (pSrc->reserved << 2); + *pBuf = tmp99__; (void)pCtx; } /* End dot11f_pack_ff_sm_power_mode_set. */ @@ -18258,19 +18400,19 @@ void dot11f_pack_ff_ts_info(tpAniSirGlobal pCtx, tDot11fFfTSInfo *pSrc, uint8_t *pBuf) { - uint32_t tmp98__; - tmp98__ = 0U; - tmp98__ |= (pSrc->traffic_type << 0); - tmp98__ |= (pSrc->tsid << 1); - tmp98__ |= (pSrc->direction << 5); - tmp98__ |= (pSrc->access_policy << 7); - tmp98__ |= (pSrc->aggregation << 9); - tmp98__ |= (pSrc->psb << 10); - tmp98__ |= (pSrc->user_priority << 11); - tmp98__ |= (pSrc->tsinfo_ack_pol << 14); - tmp98__ |= (pSrc->schedule << 16); - tmp98__ |= (pSrc->unused << 17); - frameshtonl(pCtx, pBuf, tmp98__, 0); + uint32_t tmp100__; + tmp100__ = 0U; + tmp100__ |= (pSrc->traffic_type << 0); + tmp100__ |= (pSrc->tsid << 1); + tmp100__ |= (pSrc->direction << 5); + tmp100__ |= (pSrc->access_policy << 7); + tmp100__ |= (pSrc->aggregation << 9); + tmp100__ |= (pSrc->psb << 10); + tmp100__ |= (pSrc->user_priority << 11); + tmp100__ |= (pSrc->tsinfo_ack_pol << 14); + tmp100__ |= (pSrc->schedule << 16); + tmp100__ |= (pSrc->unused << 17); + frameshtonl(pCtx, pBuf, tmp100__, 0); (void)pCtx; } /* End dot11f_pack_ff_ts_info. */ @@ -18326,13 +18468,13 @@ void dot11f_pack_ff_addba_param_set(tpAniSirGlobal pCtx, tDot11fFfaddba_param_set *pSrc, uint8_t *pBuf) { - uint16_t tmp99__; - tmp99__ = 0U; - tmp99__ |= (pSrc->amsdu_supp << 0); - tmp99__ |= (pSrc->policy << 1); - tmp99__ |= (pSrc->tid << 2); - tmp99__ |= (pSrc->buff_size << 6); - frameshtons(pCtx, pBuf, tmp99__, 0); + uint16_t tmp101__; + tmp101__ = 0U; + tmp101__ |= (pSrc->amsdu_supp << 0); + tmp101__ |= (pSrc->policy << 1); + tmp101__ |= (pSrc->tid << 2); + tmp101__ |= (pSrc->buff_size << 6); + frameshtons(pCtx, pBuf, tmp101__, 0); (void)pCtx; } /* End dot11f_pack_ff_addba_param_set. */ @@ -18340,11 +18482,11 @@ void dot11f_pack_ff_ba_start_seq_ctrl(tpAniSirGlobal pCtx, tDot11fFfba_start_seq_ctrl *pSrc, uint8_t *pBuf) { - uint16_t tmp100__; - tmp100__ = 0U; - tmp100__ |= (pSrc->frag_number << 0); - tmp100__ |= (pSrc->ssn << 4); - frameshtons(pCtx, pBuf, tmp100__, 0); + uint16_t tmp102__; + tmp102__ = 0U; + tmp102__ |= (pSrc->frag_number << 0); + tmp102__ |= (pSrc->ssn << 4); + frameshtons(pCtx, pBuf, tmp102__, 0); (void)pCtx; } /* End dot11f_pack_ff_ba_start_seq_ctrl. */ @@ -18360,12 +18502,12 @@ void dot11f_pack_ff_delba_param_set(tpAniSirGlobal pCtx, tDot11fFfdelba_param_set *pSrc, uint8_t *pBuf) { - uint16_t tmp101__; - tmp101__ = 0U; - tmp101__ |= (pSrc->reserved << 0); - tmp101__ |= (pSrc->initiator << 11); - tmp101__ |= (pSrc->tid << 12); - frameshtons(pCtx, pBuf, tmp101__, 0); + uint16_t tmp103__; + tmp103__ = 0U; + tmp103__ |= (pSrc->reserved << 0); + tmp103__ |= (pSrc->initiator << 11); + tmp103__ |= (pSrc->tid << 12); + frameshtons(pCtx, pBuf, tmp103__, 0); (void)pCtx; } /* End dot11f_pack_ff_delba_param_set. */ @@ -18373,13 +18515,13 @@ void dot11f_pack_ff_ext_chan_switch_ann_action(tpAniSirGlobal pCtx, tDot11fFfext_chan_switch_ann_action *pSrc, uint8_t *pBuf) { - uint32_t tmp102__; - tmp102__ = 0U; - tmp102__ |= (pSrc->switch_mode << 0); - tmp102__ |= (pSrc->op_class << 8); - tmp102__ |= (pSrc->new_channel << 16); - tmp102__ |= (pSrc->switch_count << 24); - frameshtonl(pCtx, pBuf, tmp102__, 0); + uint32_t tmp104__; + tmp104__ = 0U; + tmp104__ |= (pSrc->switch_mode << 0); + tmp104__ |= (pSrc->op_class << 8); + tmp104__ |= (pSrc->new_channel << 16); + tmp104__ |= (pSrc->switch_count << 24); + frameshtonl(pCtx, pBuf, tmp104__, 0); (void)pCtx; } /* End dot11f_pack_ff_ext_chan_switch_ann_action. */ @@ -18482,7 +18624,7 @@ uint32_t dot11f_pack_tlv_version2(tpAniSirGlobal pCtx, uint8_t *pTlvLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp103__; + uint8_t tmp105__; nNeeded += 3; if (nNeeded > nBuf) return DOT11F_BUFFER_OVERFLOW; @@ -18491,13 +18633,13 @@ uint32_t dot11f_pack_tlv_version2(tpAniSirGlobal pCtx, pBuf += 1; *pnConsumed += 1; pTlvLen = pBuf; pBuf += 1; *pnConsumed += 1; - tmp103__ = 0U; - tmp103__ |= (pSrc->minor << 0); - tmp103__ |= (pSrc->major << 4); + tmp105__ = 0U; + tmp105__ |= (pSrc->minor << 0); + tmp105__ |= (pSrc->major << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp103__; + *pBuf = tmp105__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -19454,7 +19596,7 @@ uint32_t dot11f_pack_tlv_version(tpAniSirGlobal pCtx, uint8_t *pTlvLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp104__; + uint8_t tmp106__; nNeeded += 5; if (nNeeded > nBuf) return DOT11F_BUFFER_OVERFLOW; @@ -19463,13 +19605,13 @@ uint32_t dot11f_pack_tlv_version(tpAniSirGlobal pCtx, pBuf += 2; *pnConsumed += 2; pTlvLen = pBuf; pBuf += 2; *pnConsumed += 2; - tmp104__ = 0U; - tmp104__ |= (pSrc->minor << 0); - tmp104__ |= (pSrc->major << 4); + tmp106__ = 0U; + tmp106__ |= (pSrc->minor << 0); + tmp106__ |= (pSrc->major << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp104__; + *pBuf = tmp106__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -19698,7 +19840,7 @@ uint32_t dot11f_pack_tlv_oce_cap(tpAniSirGlobal pCtx, uint8_t *pTlvLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp105__; + uint8_t tmp107__; nNeeded += 3; if (nNeeded > nBuf) return DOT11F_BUFFER_OVERFLOW; @@ -19707,15 +19849,15 @@ uint32_t dot11f_pack_tlv_oce_cap(tpAniSirGlobal pCtx, pBuf += 1; *pnConsumed += 1; pTlvLen = pBuf; pBuf += 1; *pnConsumed += 1; - tmp105__ = 0U; - tmp105__ |= (pSrc->oce_release << 0); - tmp105__ |= (pSrc->is_sta_cfon << 3); - tmp105__ |= (pSrc->non_oce_ap_present << 4); - tmp105__ |= (pSrc->reserved << 5); + tmp107__ = 0U; + tmp107__ |= (pSrc->oce_release << 0); + tmp107__ |= (pSrc->is_sta_cfon << 3); + tmp107__ |= (pSrc->non_oce_ap_present << 4); + tmp107__ |= (pSrc->reserved << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp105__; + *pBuf = tmp107__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -19737,7 +19879,7 @@ uint32_t dot11f_pack_tlv_reduced_wan_metrics(tpAniSirGlobal pCtx, uint8_t *pTlvLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp106__; + uint8_t tmp108__; nNeeded += 3; if (nNeeded > nBuf) return DOT11F_BUFFER_OVERFLOW; @@ -19746,13 +19888,13 @@ uint32_t dot11f_pack_tlv_reduced_wan_metrics(tpAniSirGlobal pCtx, pBuf += 1; *pnConsumed += 1; pTlvLen = pBuf; pBuf += 1; *pnConsumed += 1; - tmp106__ = 0U; - tmp106__ |= (pSrc->downlink_av_cap << 0); - tmp106__ |= (pSrc->uplink_av_cap << 4); + tmp108__ = 0U; + tmp108__ |= (pSrc->downlink_av_cap << 0); + tmp108__ |= (pSrc->uplink_av_cap << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp106__; + *pBuf = tmp108__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -19922,7 +20064,7 @@ uint32_t dot11f_pack_ie_gtk(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp107__; + uint16_t tmp109__; nNeeded += (pSrc->num_key + 11); while (pSrc->present) { if (nNeeded > nBuf) @@ -19931,13 +20073,13 @@ uint32_t dot11f_pack_ie_gtk(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp107__ = 0U; - tmp107__ |= (pSrc->keyId << 0); - tmp107__ |= (pSrc->reserved << 2); + tmp109__ = 0U; + tmp109__ |= (pSrc->keyId << 0); + tmp109__ |= (pSrc->reserved << 2); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp107__, 0); + frameshtons(pCtx, pBuf, tmp109__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -20407,11 +20549,11 @@ uint32_t dot11f_pack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp108__; - uint8_t tmp109__; uint8_t tmp110__; uint8_t tmp111__; uint8_t tmp112__; + uint8_t tmp113__; + uint8_t tmp114__; nNeeded += 5; while (pSrc->present) { if (nNeeded > nBuf) @@ -20420,43 +20562,15 @@ uint32_t dot11f_pack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp108__ = 0U; - tmp108__ |= (pSrc->LinkMeasurement << 0); - tmp108__ |= (pSrc->NeighborRpt << 1); - tmp108__ |= (pSrc->parallel << 2); - tmp108__ |= (pSrc->repeated << 3); - tmp108__ |= (pSrc->BeaconPassive << 4); - tmp108__ |= (pSrc->BeaconActive << 5); - tmp108__ |= (pSrc->BeaconTable << 6); - tmp108__ |= (pSrc->BeaconRepCond << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp108__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - tmp109__ = 0U; - tmp109__ |= (pSrc->FrameMeasurement << 0); - tmp109__ |= (pSrc->ChannelLoad << 1); - tmp109__ |= (pSrc->NoiseHistogram << 2); - tmp109__ |= (pSrc->statistics << 3); - tmp109__ |= (pSrc->LCIMeasurement << 4); - tmp109__ |= (pSrc->LCIAzimuth << 5); - tmp109__ |= (pSrc->TCMCapability << 6); - tmp109__ |= (pSrc->triggeredTCM << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp109__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; tmp110__ = 0U; - tmp110__ |= (pSrc->APChanReport << 0); - tmp110__ |= (pSrc->RRMMIBEnabled << 1); - tmp110__ |= (pSrc->operatingChanMax << 2); - tmp110__ |= (pSrc->nonOperatinChanMax << 5); + tmp110__ |= (pSrc->LinkMeasurement << 0); + tmp110__ |= (pSrc->NeighborRpt << 1); + tmp110__ |= (pSrc->parallel << 2); + tmp110__ |= (pSrc->repeated << 3); + tmp110__ |= (pSrc->BeaconPassive << 4); + tmp110__ |= (pSrc->BeaconActive << 5); + tmp110__ |= (pSrc->BeaconTable << 6); + tmp110__ |= (pSrc->BeaconRepCond << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -20465,12 +20579,14 @@ uint32_t dot11f_pack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp111__ = 0U; - tmp111__ |= (pSrc->MeasurementPilot << 0); - tmp111__ |= (pSrc->MeasurementPilotEnabled << 3); - tmp111__ |= (pSrc->NeighborTSFOffset << 4); - tmp111__ |= (pSrc->RCPIMeasurement << 5); - tmp111__ |= (pSrc->RSNIMeasurement << 6); - tmp111__ |= (pSrc->BssAvgAccessDelay << 7); + tmp111__ |= (pSrc->FrameMeasurement << 0); + tmp111__ |= (pSrc->ChannelLoad << 1); + tmp111__ |= (pSrc->NoiseHistogram << 2); + tmp111__ |= (pSrc->statistics << 3); + tmp111__ |= (pSrc->LCIMeasurement << 4); + tmp111__ |= (pSrc->LCIAzimuth << 5); + tmp111__ |= (pSrc->TCMCapability << 6); + tmp111__ |= (pSrc->triggeredTCM << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -20479,16 +20595,42 @@ uint32_t dot11f_pack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp112__ = 0U; - tmp112__ |= (pSrc->BSSAvailAdmission << 0); - tmp112__ |= (pSrc->AntennaInformation << 1); - tmp112__ |= (pSrc->fine_time_meas_rpt << 2); - tmp112__ |= (pSrc->lci_capability << 3); - tmp112__ |= (pSrc->reserved << 4); + tmp112__ |= (pSrc->APChanReport << 0); + tmp112__ |= (pSrc->RRMMIBEnabled << 1); + tmp112__ |= (pSrc->operatingChanMax << 2); + tmp112__ |= (pSrc->nonOperatinChanMax << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; *pBuf = tmp112__; *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp113__ = 0U; + tmp113__ |= (pSrc->MeasurementPilot << 0); + tmp113__ |= (pSrc->MeasurementPilotEnabled << 3); + tmp113__ |= (pSrc->NeighborTSFOffset << 4); + tmp113__ |= (pSrc->RCPIMeasurement << 5); + tmp113__ |= (pSrc->RSNIMeasurement << 6); + tmp113__ |= (pSrc->BssAvgAccessDelay << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp113__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp114__ = 0U; + tmp114__ |= (pSrc->BSSAvailAdmission << 0); + tmp114__ |= (pSrc->AntennaInformation << 1); + tmp114__ |= (pSrc->fine_time_meas_rpt << 2); + tmp114__ |= (pSrc->lci_capability << 3); + tmp114__ |= (pSrc->reserved << 4); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp114__; + *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; break; @@ -20567,7 +20709,7 @@ uint32_t dot11f_pack_ie_schedule(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp113__; + uint16_t tmp115__; nNeeded += 14; while (pSrc->present) { if (nNeeded > nBuf) @@ -20576,15 +20718,15 @@ uint32_t dot11f_pack_ie_schedule(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp113__ = 0U; - tmp113__ |= (pSrc->aggregation << 0); - tmp113__ |= (pSrc->tsid << 1); - tmp113__ |= (pSrc->direction << 5); - tmp113__ |= (pSrc->reserved << 7); + tmp115__ = 0U; + tmp115__ |= (pSrc->aggregation << 0); + tmp115__ |= (pSrc->tsid << 1); + tmp115__ |= (pSrc->direction << 5); + tmp115__ |= (pSrc->reserved << 7); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp113__, 0); + frameshtons(pCtx, pBuf, tmp115__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -20811,9 +20953,9 @@ uint32_t dot11f_pack_ie_tspec(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp114__; - uint8_t tmp115__; uint16_t tmp116__; + uint8_t tmp117__; + uint16_t tmp118__; nNeeded += 55; while (pSrc->present) { if (nNeeded > nBuf) @@ -20822,35 +20964,15 @@ uint32_t dot11f_pack_ie_tspec(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp114__ = 0U; - tmp114__ |= (pSrc->traffic_type << 0); - tmp114__ |= (pSrc->tsid << 1); - tmp114__ |= (pSrc->direction << 5); - tmp114__ |= (pSrc->access_policy << 7); - tmp114__ |= (pSrc->aggregation << 9); - tmp114__ |= (pSrc->psb << 10); - tmp114__ |= (pSrc->user_priority << 11); - tmp114__ |= (pSrc->tsinfo_ack_pol << 14); - if (unlikely(nBuf < 2)) - return DOT11F_INCOMPLETE_IE; - - frameshtons(pCtx, pBuf, tmp114__, 0); - *pnConsumed += 2; - pBuf += 2; - nBuf -= 2 ; - tmp115__ = 0U; - tmp115__ |= (pSrc->schedule << 0); - tmp115__ |= (pSrc->unused << 1); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp115__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; tmp116__ = 0U; - tmp116__ |= (pSrc->size << 0); - tmp116__ |= (pSrc->fixed << 15); + tmp116__ |= (pSrc->traffic_type << 0); + tmp116__ |= (pSrc->tsid << 1); + tmp116__ |= (pSrc->direction << 5); + tmp116__ |= (pSrc->access_policy << 7); + tmp116__ |= (pSrc->aggregation << 9); + tmp116__ |= (pSrc->psb << 10); + tmp116__ |= (pSrc->user_priority << 11); + tmp116__ |= (pSrc->tsinfo_ack_pol << 14); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; @@ -20858,6 +20980,26 @@ uint32_t dot11f_pack_ie_tspec(tpAniSirGlobal pCtx, *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; + tmp117__ = 0U; + tmp117__ |= (pSrc->schedule << 0); + tmp117__ |= (pSrc->unused << 1); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp117__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp118__ = 0U; + tmp118__ |= (pSrc->size << 0); + tmp118__ |= (pSrc->fixed << 15); + if (unlikely(nBuf < 2)) + return DOT11F_INCOMPLETE_IE; + + frameshtons(pCtx, pBuf, tmp118__, 0); + *pnConsumed += 2; + pBuf += 2; + nBuf -= 2 ; frameshtons(pCtx, pBuf, pSrc->max_msdu_size, 0); *pnConsumed += 2; pBuf += 2; @@ -20918,9 +21060,9 @@ uint32_t dot11f_pack_ie_vht_caps(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint32_t tmp117__; - uint16_t tmp118__; - uint16_t tmp119__; + uint32_t tmp119__; + uint16_t tmp120__; + uint16_t tmp121__; nNeeded += 12; while (pSrc->present) { if (nNeeded > nBuf) @@ -20929,57 +21071,57 @@ uint32_t dot11f_pack_ie_vht_caps(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp117__ = 0U; - tmp117__ |= (pSrc->maxMPDULen << 0); - tmp117__ |= (pSrc->supportedChannelWidthSet << 2); - tmp117__ |= (pSrc->ldpcCodingCap << 4); - tmp117__ |= (pSrc->shortGI80MHz << 5); - tmp117__ |= (pSrc->shortGI160and80plus80MHz << 6); - tmp117__ |= (pSrc->txSTBC << 7); - tmp117__ |= (pSrc->rxSTBC << 8); - tmp117__ |= (pSrc->suBeamFormerCap << 11); - tmp117__ |= (pSrc->suBeamformeeCap << 12); - tmp117__ |= (pSrc->csnofBeamformerAntSup << 13); - tmp117__ |= (pSrc->numSoundingDim << 16); - tmp117__ |= (pSrc->muBeamformerCap << 19); - tmp117__ |= (pSrc->muBeamformeeCap << 20); - tmp117__ |= (pSrc->vhtTXOPPS << 21); - tmp117__ |= (pSrc->htcVHTCap << 22); - tmp117__ |= (pSrc->maxAMPDULenExp << 23); - tmp117__ |= (pSrc->vhtLinkAdaptCap << 26); - tmp117__ |= (pSrc->rxAntPattern << 28); - tmp117__ |= (pSrc->txAntPattern << 29); - tmp117__ |= (pSrc->reserved1 << 30); + tmp119__ = 0U; + tmp119__ |= (pSrc->maxMPDULen << 0); + tmp119__ |= (pSrc->supportedChannelWidthSet << 2); + tmp119__ |= (pSrc->ldpcCodingCap << 4); + tmp119__ |= (pSrc->shortGI80MHz << 5); + tmp119__ |= (pSrc->shortGI160and80plus80MHz << 6); + tmp119__ |= (pSrc->txSTBC << 7); + tmp119__ |= (pSrc->rxSTBC << 8); + tmp119__ |= (pSrc->suBeamFormerCap << 11); + tmp119__ |= (pSrc->suBeamformeeCap << 12); + tmp119__ |= (pSrc->csnofBeamformerAntSup << 13); + tmp119__ |= (pSrc->numSoundingDim << 16); + tmp119__ |= (pSrc->muBeamformerCap << 19); + tmp119__ |= (pSrc->muBeamformeeCap << 20); + tmp119__ |= (pSrc->vhtTXOPPS << 21); + tmp119__ |= (pSrc->htcVHTCap << 22); + tmp119__ |= (pSrc->maxAMPDULenExp << 23); + tmp119__ |= (pSrc->vhtLinkAdaptCap << 26); + tmp119__ |= (pSrc->rxAntPattern << 28); + tmp119__ |= (pSrc->txAntPattern << 29); + tmp119__ |= (pSrc->reserved1 << 30); if (unlikely(nBuf < 4)) return DOT11F_INCOMPLETE_IE; - frameshtonl(pCtx, pBuf, tmp117__, 0); + frameshtonl(pCtx, pBuf, tmp119__, 0); *pnConsumed += 4; pBuf += 4; nBuf -= 4 ; frameshtons(pCtx, pBuf, pSrc->rxMCSMap, 0); *pnConsumed += 2; pBuf += 2; - tmp118__ = 0U; - tmp118__ |= (pSrc->rxHighSupDataRate << 0); - tmp118__ |= (pSrc->reserved2 << 13); + tmp120__ = 0U; + tmp120__ |= (pSrc->rxHighSupDataRate << 0); + tmp120__ |= (pSrc->reserved2 << 13); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp118__, 0); + frameshtons(pCtx, pBuf, tmp120__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; frameshtons(pCtx, pBuf, pSrc->txMCSMap, 0); *pnConsumed += 2; pBuf += 2; - tmp119__ = 0U; - tmp119__ |= (pSrc->txSupDataRate << 0); - tmp119__ |= (pSrc->reserved3 << 13); + tmp121__ = 0U; + tmp121__ |= (pSrc->txSupDataRate << 0); + tmp121__ |= (pSrc->reserved3 << 13); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp119__, 0); + frameshtons(pCtx, pBuf, tmp121__, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ nBuf -= 2 ; @@ -21039,7 +21181,7 @@ uint32_t dot11f_pack_ie_wmm_schedule(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp120__; + uint16_t tmp122__; nNeeded += 15; while (pSrc->present) { if (nNeeded > nBuf) @@ -21061,15 +21203,15 @@ uint32_t dot11f_pack_ie_wmm_schedule(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *pnConsumed += 1; pBuf += 1; - tmp120__ = 0U; - tmp120__ |= (pSrc->aggregation << 0); - tmp120__ |= (pSrc->tsid << 1); - tmp120__ |= (pSrc->direction << 5); - tmp120__ |= (pSrc->reserved << 7); + tmp122__ = 0U; + tmp122__ |= (pSrc->aggregation << 0); + tmp122__ |= (pSrc->tsid << 1); + tmp122__ |= (pSrc->direction << 5); + tmp122__ |= (pSrc->reserved << 7); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp120__, 0); + frameshtons(pCtx, pBuf, tmp122__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -21303,9 +21445,9 @@ uint32_t dot11f_pack_ie_wmmtspec(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp121__; - uint8_t tmp122__; uint16_t tmp123__; + uint8_t tmp124__; + uint16_t tmp125__; nNeeded += 38; while (pSrc->present) { if (nNeeded > nBuf) @@ -21327,35 +21469,15 @@ uint32_t dot11f_pack_ie_wmmtspec(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *pnConsumed += 1; pBuf += 1; - tmp121__ = 0U; - tmp121__ |= (pSrc->traffic_type << 0); - tmp121__ |= (pSrc->tsid << 1); - tmp121__ |= (pSrc->direction << 5); - tmp121__ |= (pSrc->access_policy << 7); - tmp121__ |= (pSrc->aggregation << 9); - tmp121__ |= (pSrc->psb << 10); - tmp121__ |= (pSrc->user_priority << 11); - tmp121__ |= (pSrc->tsinfo_ack_pol << 14); - if (unlikely(nBuf < 2)) - return DOT11F_INCOMPLETE_IE; - - frameshtons(pCtx, pBuf, tmp121__, 0); - *pnConsumed += 2; - pBuf += 2; - nBuf -= 2 ; - tmp122__ = 0U; - tmp122__ |= (pSrc->tsinfo_rsvd << 0); - tmp122__ |= (pSrc->burst_size_defn << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp122__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; tmp123__ = 0U; - tmp123__ |= (pSrc->size << 0); - tmp123__ |= (pSrc->fixed << 15); + tmp123__ |= (pSrc->traffic_type << 0); + tmp123__ |= (pSrc->tsid << 1); + tmp123__ |= (pSrc->direction << 5); + tmp123__ |= (pSrc->access_policy << 7); + tmp123__ |= (pSrc->aggregation << 9); + tmp123__ |= (pSrc->psb << 10); + tmp123__ |= (pSrc->user_priority << 11); + tmp123__ |= (pSrc->tsinfo_ack_pol << 14); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; @@ -21363,6 +21485,26 @@ uint32_t dot11f_pack_ie_wmmtspec(tpAniSirGlobal pCtx, *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; + tmp124__ = 0U; + tmp124__ |= (pSrc->tsinfo_rsvd << 0); + tmp124__ |= (pSrc->burst_size_defn << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp124__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp125__ = 0U; + tmp125__ |= (pSrc->size << 0); + tmp125__ |= (pSrc->fixed << 15); + if (unlikely(nBuf < 2)) + return DOT11F_INCOMPLETE_IE; + + frameshtons(pCtx, pBuf, tmp125__, 0); + *pnConsumed += 2; + pBuf += 2; + nBuf -= 2 ; frameshtons(pCtx, pBuf, pSrc->max_msdu_size, 0); *pnConsumed += 2; pBuf += 2; @@ -21487,7 +21629,7 @@ uint32_t dot11f_pack_ie_beacon_report_frm_body_fragment_id(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp124__; + uint16_t tmp126__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -21496,14 +21638,14 @@ uint32_t dot11f_pack_ie_beacon_report_frm_body_fragment_id(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp124__ = 0U; - tmp124__ |= (pSrc->beacon_report_id << 0); - tmp124__ |= (pSrc->fragment_id_number << 8); - tmp124__ |= (pSrc->more_fragments << 15); + tmp126__ = 0U; + tmp126__ |= (pSrc->beacon_report_id << 0); + tmp126__ |= (pSrc->fragment_id_number << 8); + tmp126__ |= (pSrc->more_fragments << 15); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp124__, 0); + frameshtons(pCtx, pBuf, tmp126__, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ nBuf -= 2 ; @@ -21583,8 +21725,8 @@ uint32_t dot11f_pack_ie_neighbor_rpt(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp125__; - uint8_t tmp126__; + uint8_t tmp127__; + uint8_t tmp128__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_neighbor_rpt(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -21599,30 +21741,30 @@ uint32_t dot11f_pack_ie_neighbor_rpt(tpAniSirGlobal pCtx, DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6); *pnConsumed += 6; pBuf += 6; - tmp125__ = 0U; - tmp125__ |= (pSrc->APReachability << 0); - tmp125__ |= (pSrc->Security << 2); - tmp125__ |= (pSrc->KeyScope << 3); - tmp125__ |= (pSrc->SpecMgmtCap << 4); - tmp125__ |= (pSrc->QosCap << 5); - tmp125__ |= (pSrc->apsd << 6); - tmp125__ |= (pSrc->rrm << 7); + tmp127__ = 0U; + tmp127__ |= (pSrc->APReachability << 0); + tmp127__ |= (pSrc->Security << 2); + tmp127__ |= (pSrc->KeyScope << 3); + tmp127__ |= (pSrc->SpecMgmtCap << 4); + tmp127__ |= (pSrc->QosCap << 5); + tmp127__ |= (pSrc->apsd << 6); + tmp127__ |= (pSrc->rrm << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp125__; + *pBuf = tmp127__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - tmp126__ = 0U; - tmp126__ |= (pSrc->DelayedBA << 0); - tmp126__ |= (pSrc->ImmBA << 1); - tmp126__ |= (pSrc->MobilityDomain << 2); - tmp126__ |= (pSrc->reserved << 3); + tmp128__ = 0U; + tmp128__ |= (pSrc->DelayedBA << 0); + tmp128__ |= (pSrc->ImmBA << 1); + tmp128__ |= (pSrc->MobilityDomain << 2); + tmp128__ |= (pSrc->reserved << 3); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp126__; + *pBuf = tmp128__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -21985,14 +22127,14 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp127__; - uint8_t tmp128__; uint8_t tmp129__; uint8_t tmp130__; uint8_t tmp131__; uint8_t tmp132__; uint8_t tmp133__; uint8_t tmp134__; + uint8_t tmp135__; + uint8_t tmp136__; nNeeded += 18; while (pSrc->present) { if (nNeeded > nBuf) @@ -22007,36 +22149,11 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, *pBuf = pSrc->reserved; *pnConsumed += 1; pBuf += 1; - tmp127__ = 0U; - tmp127__ |= (pSrc->acbe_aifsn << 0); - tmp127__ |= (pSrc->acbe_acm << 4); - tmp127__ |= (pSrc->acbe_aci << 5); - tmp127__ |= (pSrc->unused1 << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp127__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - tmp128__ = 0U; - tmp128__ |= (pSrc->acbe_acwmin << 0); - tmp128__ |= (pSrc->acbe_acwmax << 4); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp128__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0); - *pnConsumed += 2; - pBuf += 2; tmp129__ = 0U; - tmp129__ |= (pSrc->acbk_aifsn << 0); - tmp129__ |= (pSrc->acbk_acm << 4); - tmp129__ |= (pSrc->acbk_aci << 5); - tmp129__ |= (pSrc->unused2 << 7); + tmp129__ |= (pSrc->acbe_aifsn << 0); + tmp129__ |= (pSrc->acbe_acm << 4); + tmp129__ |= (pSrc->acbe_aci << 5); + tmp129__ |= (pSrc->unused1 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -22045,8 +22162,8 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp130__ = 0U; - tmp130__ |= (pSrc->acbk_acwmin << 0); - tmp130__ |= (pSrc->acbk_acwmax << 4); + tmp130__ |= (pSrc->acbe_acwmin << 0); + tmp130__ |= (pSrc->acbe_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -22054,14 +22171,14 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0); + frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0); *pnConsumed += 2; pBuf += 2; tmp131__ = 0U; - tmp131__ |= (pSrc->acvi_aifsn << 0); - tmp131__ |= (pSrc->acvi_acm << 4); - tmp131__ |= (pSrc->acvi_aci << 5); - tmp131__ |= (pSrc->unused3 << 7); + tmp131__ |= (pSrc->acbk_aifsn << 0); + tmp131__ |= (pSrc->acbk_acm << 4); + tmp131__ |= (pSrc->acbk_aci << 5); + tmp131__ |= (pSrc->unused2 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -22070,8 +22187,8 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp132__ = 0U; - tmp132__ |= (pSrc->acvi_acwmin << 0); - tmp132__ |= (pSrc->acvi_acwmax << 4); + tmp132__ |= (pSrc->acbk_acwmin << 0); + tmp132__ |= (pSrc->acbk_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -22079,14 +22196,14 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0); + frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0); *pnConsumed += 2; pBuf += 2; tmp133__ = 0U; - tmp133__ |= (pSrc->acvo_aifsn << 0); - tmp133__ |= (pSrc->acvo_acm << 4); - tmp133__ |= (pSrc->acvo_aci << 5); - tmp133__ |= (pSrc->unused4 << 7); + tmp133__ |= (pSrc->acvi_aifsn << 0); + tmp133__ |= (pSrc->acvi_acm << 4); + tmp133__ |= (pSrc->acvi_aci << 5); + tmp133__ |= (pSrc->unused3 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -22095,8 +22212,8 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp134__ = 0U; - tmp134__ |= (pSrc->acvo_acwmin << 0); - tmp134__ |= (pSrc->acvo_acwmax << 4); + tmp134__ |= (pSrc->acvi_acwmin << 0); + tmp134__ |= (pSrc->acvi_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -22104,6 +22221,31 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; + frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0); + *pnConsumed += 2; + pBuf += 2; + tmp135__ = 0U; + tmp135__ |= (pSrc->acvo_aifsn << 0); + tmp135__ |= (pSrc->acvo_acm << 4); + tmp135__ |= (pSrc->acvo_aci << 5); + tmp135__ |= (pSrc->unused4 << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp135__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp136__ = 0U; + tmp136__ |= (pSrc->acvo_acwmin << 0); + tmp136__ |= (pSrc->acvo_acwmax << 4); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp136__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; frameshtons(pCtx, pBuf, pSrc->acvo_txoplimit, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ @@ -22125,7 +22267,7 @@ uint32_t dot11f_pack_ie_erp_info(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp135__; + uint8_t tmp137__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -22134,15 +22276,15 @@ uint32_t dot11f_pack_ie_erp_info(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp135__ = 0U; - tmp135__ |= (pSrc->non_erp_present << 0); - tmp135__ |= (pSrc->use_prot << 1); - tmp135__ |= (pSrc->barker_preamble << 2); - tmp135__ |= (pSrc->unused << 3); + tmp137__ = 0U; + tmp137__ |= (pSrc->non_erp_present << 0); + tmp137__ |= (pSrc->use_prot << 1); + tmp137__ |= (pSrc->barker_preamble << 2); + tmp137__ |= (pSrc->unused << 3); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp135__; + *pBuf = tmp137__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -22201,7 +22343,7 @@ uint32_t dot11f_pack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp136__; + uint8_t tmp138__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -22221,13 +22363,13 @@ uint32_t dot11f_pack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, *pBuf = pSrc->mgmt_state; *pnConsumed += 1; pBuf += 1; - tmp136__ = 0U; - tmp136__ |= (pSrc->mbssid_mask << 0); - tmp136__ |= (pSrc->reserved << 3); + tmp138__ = 0U; + tmp138__ |= (pSrc->mbssid_mask << 0); + tmp138__ |= (pSrc->reserved << 3); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp136__; + *pBuf = tmp138__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -22578,7 +22720,7 @@ uint32_t dot11f_pack_ie_ft_info(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp137__; + uint16_t tmp139__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ieft_info(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -22590,13 +22732,13 @@ uint32_t dot11f_pack_ie_ft_info(tpAniSirGlobal pCtx, ++pBuf; --nBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; --nBuf; ++(*pnConsumed); - tmp137__ = 0U; - tmp137__ |= (pSrc->reserved << 0); - tmp137__ |= (pSrc->IECount << 8); + tmp139__ = 0U; + tmp139__ |= (pSrc->reserved << 0); + tmp139__ |= (pSrc->IECount << 8); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp137__, 0); + frameshtons(pCtx, pBuf, tmp139__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -22634,11 +22776,11 @@ uint32_t dot11f_pack_ie_ht_caps(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp138__; - uint8_t tmp139__; uint16_t tmp140__; - uint32_t tmp141__; - uint8_t tmp142__; + uint8_t tmp141__; + uint16_t tmp142__; + uint32_t tmp143__; + uint8_t tmp144__; nNeeded += (pSrc->num_rsvd + 26); while (pSrc->present) { if (nNeeded > nBuf) @@ -22647,48 +22789,21 @@ uint32_t dot11f_pack_ie_ht_caps(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp138__ = 0U; - tmp138__ |= (pSrc->advCodingCap << 0); - tmp138__ |= (pSrc->supportedChannelWidthSet << 1); - tmp138__ |= (pSrc->mimoPowerSave << 2); - tmp138__ |= (pSrc->greenField << 4); - tmp138__ |= (pSrc->shortGI20MHz << 5); - tmp138__ |= (pSrc->shortGI40MHz << 6); - tmp138__ |= (pSrc->txSTBC << 7); - tmp138__ |= (pSrc->rxSTBC << 8); - tmp138__ |= (pSrc->delayedBA << 10); - tmp138__ |= (pSrc->maximalAMSDUsize << 11); - tmp138__ |= (pSrc->dsssCckMode40MHz << 12); - tmp138__ |= (pSrc->psmp << 13); - tmp138__ |= (pSrc->stbcControlFrame << 14); - tmp138__ |= (pSrc->lsigTXOPProtection << 15); - if (unlikely(nBuf < 2)) - return DOT11F_INCOMPLETE_IE; - - frameshtons(pCtx, pBuf, tmp138__, 0); - *pnConsumed += 2; - pBuf += 2; - nBuf -= 2 ; - tmp139__ = 0U; - tmp139__ |= (pSrc->maxRxAMPDUFactor << 0); - tmp139__ |= (pSrc->mpduDensity << 2); - tmp139__ |= (pSrc->reserved1 << 5); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp139__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - DOT11F_MEMCPY(pCtx, pBuf, pSrc->supportedMCSSet, 16); - *pnConsumed += 16; - pBuf += 16; tmp140__ = 0U; - tmp140__ |= (pSrc->pco << 0); - tmp140__ |= (pSrc->transitionTime << 1); - tmp140__ |= (pSrc->reserved2 << 3); - tmp140__ |= (pSrc->mcsFeedback << 8); - tmp140__ |= (pSrc->reserved3 << 10); + tmp140__ |= (pSrc->advCodingCap << 0); + tmp140__ |= (pSrc->supportedChannelWidthSet << 1); + tmp140__ |= (pSrc->mimoPowerSave << 2); + tmp140__ |= (pSrc->greenField << 4); + tmp140__ |= (pSrc->shortGI20MHz << 5); + tmp140__ |= (pSrc->shortGI40MHz << 6); + tmp140__ |= (pSrc->txSTBC << 7); + tmp140__ |= (pSrc->rxSTBC << 8); + tmp140__ |= (pSrc->delayedBA << 10); + tmp140__ |= (pSrc->maximalAMSDUsize << 11); + tmp140__ |= (pSrc->dsssCckMode40MHz << 12); + tmp140__ |= (pSrc->psmp << 13); + tmp140__ |= (pSrc->stbcControlFrame << 14); + tmp140__ |= (pSrc->lsigTXOPProtection << 15); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; @@ -22697,42 +22812,69 @@ uint32_t dot11f_pack_ie_ht_caps(tpAniSirGlobal pCtx, pBuf += 2; nBuf -= 2 ; tmp141__ = 0U; - tmp141__ |= (pSrc->txBF << 0); - tmp141__ |= (pSrc->rxStaggeredSounding << 1); - tmp141__ |= (pSrc->txStaggeredSounding << 2); - tmp141__ |= (pSrc->rxZLF << 3); - tmp141__ |= (pSrc->txZLF << 4); - tmp141__ |= (pSrc->implicitTxBF << 5); - tmp141__ |= (pSrc->calibration << 6); - tmp141__ |= (pSrc->explicitCSITxBF << 8); - tmp141__ |= (pSrc->explicitUncompressedSteeringMatrix << 9); - tmp141__ |= (pSrc->explicitBFCSIFeedback << 10); - tmp141__ |= (pSrc->explicitUncompressedSteeringMatrixFeedback << 13); - tmp141__ |= (pSrc->explicitCompressedSteeringMatrixFeedback << 16); - tmp141__ |= (pSrc->csiNumBFAntennae << 19); - tmp141__ |= (pSrc->uncompressedSteeringMatrixBFAntennae << 21); - tmp141__ |= (pSrc->compressedSteeringMatrixBFAntennae << 23); - tmp141__ |= (pSrc->reserved4 << 25); - if (unlikely(nBuf < 4)) - return DOT11F_INCOMPLETE_IE; - - frameshtonl(pCtx, pBuf, tmp141__, 0); - *pnConsumed += 4; - pBuf += 4; - nBuf -= 4 ; - tmp142__ = 0U; - tmp142__ |= (pSrc->antennaSelection << 0); - tmp142__ |= (pSrc->explicitCSIFeedbackTx << 1); - tmp142__ |= (pSrc->antennaIndicesFeedbackTx << 2); - tmp142__ |= (pSrc->explicitCSIFeedback << 3); - tmp142__ |= (pSrc->antennaIndicesFeedback << 4); - tmp142__ |= (pSrc->rxAS << 5); - tmp142__ |= (pSrc->txSoundingPPDUs << 6); - tmp142__ |= (pSrc->reserved5 << 7); + tmp141__ |= (pSrc->maxRxAMPDUFactor << 0); + tmp141__ |= (pSrc->mpduDensity << 2); + tmp141__ |= (pSrc->reserved1 << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp142__; + *pBuf = tmp141__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + DOT11F_MEMCPY(pCtx, pBuf, pSrc->supportedMCSSet, 16); + *pnConsumed += 16; + pBuf += 16; + tmp142__ = 0U; + tmp142__ |= (pSrc->pco << 0); + tmp142__ |= (pSrc->transitionTime << 1); + tmp142__ |= (pSrc->reserved2 << 3); + tmp142__ |= (pSrc->mcsFeedback << 8); + tmp142__ |= (pSrc->reserved3 << 10); + if (unlikely(nBuf < 2)) + return DOT11F_INCOMPLETE_IE; + + frameshtons(pCtx, pBuf, tmp142__, 0); + *pnConsumed += 2; + pBuf += 2; + nBuf -= 2 ; + tmp143__ = 0U; + tmp143__ |= (pSrc->txBF << 0); + tmp143__ |= (pSrc->rxStaggeredSounding << 1); + tmp143__ |= (pSrc->txStaggeredSounding << 2); + tmp143__ |= (pSrc->rxZLF << 3); + tmp143__ |= (pSrc->txZLF << 4); + tmp143__ |= (pSrc->implicitTxBF << 5); + tmp143__ |= (pSrc->calibration << 6); + tmp143__ |= (pSrc->explicitCSITxBF << 8); + tmp143__ |= (pSrc->explicitUncompressedSteeringMatrix << 9); + tmp143__ |= (pSrc->explicitBFCSIFeedback << 10); + tmp143__ |= (pSrc->explicitUncompressedSteeringMatrixFeedback << 13); + tmp143__ |= (pSrc->explicitCompressedSteeringMatrixFeedback << 16); + tmp143__ |= (pSrc->csiNumBFAntennae << 19); + tmp143__ |= (pSrc->uncompressedSteeringMatrixBFAntennae << 21); + tmp143__ |= (pSrc->compressedSteeringMatrixBFAntennae << 23); + tmp143__ |= (pSrc->reserved4 << 25); + if (unlikely(nBuf < 4)) + return DOT11F_INCOMPLETE_IE; + + frameshtonl(pCtx, pBuf, tmp143__, 0); + *pnConsumed += 4; + pBuf += 4; + nBuf -= 4 ; + tmp144__ = 0U; + tmp144__ |= (pSrc->antennaSelection << 0); + tmp144__ |= (pSrc->explicitCSIFeedbackTx << 1); + tmp144__ |= (pSrc->antennaIndicesFeedbackTx << 2); + tmp144__ |= (pSrc->explicitCSIFeedback << 3); + tmp144__ |= (pSrc->antennaIndicesFeedback << 4); + tmp144__ |= (pSrc->rxAS << 5); + tmp144__ |= (pSrc->txSoundingPPDUs << 6); + tmp144__ |= (pSrc->reserved5 << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp144__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -22757,9 +22899,9 @@ uint32_t dot11f_pack_ie_ht_info(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp143__; - uint16_t tmp144__; - uint16_t tmp145__; + uint8_t tmp145__; + uint16_t tmp146__; + uint16_t tmp147__; nNeeded += (pSrc->num_rsvd + 22); while (pSrc->present) { if (nNeeded > nBuf) @@ -22771,44 +22913,44 @@ uint32_t dot11f_pack_ie_ht_info(tpAniSirGlobal pCtx, *pBuf = pSrc->primaryChannel; *pnConsumed += 1; pBuf += 1; - tmp143__ = 0U; - tmp143__ |= (pSrc->secondaryChannelOffset << 0); - tmp143__ |= (pSrc->recommendedTxWidthSet << 2); - tmp143__ |= (pSrc->rifsMode << 3); - tmp143__ |= (pSrc->controlledAccessOnly << 4); - tmp143__ |= (pSrc->serviceIntervalGranularity << 5); + tmp145__ = 0U; + tmp145__ |= (pSrc->secondaryChannelOffset << 0); + tmp145__ |= (pSrc->recommendedTxWidthSet << 2); + tmp145__ |= (pSrc->rifsMode << 3); + tmp145__ |= (pSrc->controlledAccessOnly << 4); + tmp145__ |= (pSrc->serviceIntervalGranularity << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp143__; + *pBuf = tmp145__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - tmp144__ = 0U; - tmp144__ |= (pSrc->opMode << 0); - tmp144__ |= (pSrc->nonGFDevicesPresent << 2); - tmp144__ |= (pSrc->transmitBurstLimit << 3); - tmp144__ |= (pSrc->obssNonHTStaPresent << 4); - tmp144__ |= (pSrc->reserved << 5); + tmp146__ = 0U; + tmp146__ |= (pSrc->opMode << 0); + tmp146__ |= (pSrc->nonGFDevicesPresent << 2); + tmp146__ |= (pSrc->transmitBurstLimit << 3); + tmp146__ |= (pSrc->obssNonHTStaPresent << 4); + tmp146__ |= (pSrc->reserved << 5); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp144__, 0); + frameshtons(pCtx, pBuf, tmp146__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; - tmp145__ = 0U; - tmp145__ |= (pSrc->basicSTBCMCS << 0); - tmp145__ |= (pSrc->dualCTSProtection << 7); - tmp145__ |= (pSrc->secondaryBeacon << 8); - tmp145__ |= (pSrc->lsigTXOPProtectionFullSupport << 9); - tmp145__ |= (pSrc->pcoActive << 10); - tmp145__ |= (pSrc->pcoPhase << 11); - tmp145__ |= (pSrc->reserved2 << 12); + tmp147__ = 0U; + tmp147__ |= (pSrc->basicSTBCMCS << 0); + tmp147__ |= (pSrc->dualCTSProtection << 7); + tmp147__ |= (pSrc->secondaryBeacon << 8); + tmp147__ |= (pSrc->lsigTXOPProtectionFullSupport << 9); + tmp147__ |= (pSrc->pcoActive << 10); + tmp147__ |= (pSrc->pcoPhase << 11); + tmp147__ |= (pSrc->reserved2 << 12); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp145__, 0); + frameshtons(pCtx, pBuf, tmp147__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -22948,9 +23090,9 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp146__; - uint8_t tmp147__; uint8_t tmp148__; + uint8_t tmp149__; + uint8_t tmp150__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_measurement_report(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -22965,15 +23107,15 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, *pBuf = pSrc->token; *pnConsumed += 1; pBuf += 1; - tmp146__ = 0U; - tmp146__ |= (pSrc->late << 0); - tmp146__ |= (pSrc->incapable << 1); - tmp146__ |= (pSrc->refused << 2); - tmp146__ |= (pSrc->unused << 3); + tmp148__ = 0U; + tmp148__ |= (pSrc->late << 0); + tmp148__ |= (pSrc->incapable << 1); + tmp148__ |= (pSrc->refused << 2); + tmp148__ |= (pSrc->unused << 3); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp146__; + *pBuf = tmp148__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -22992,17 +23134,17 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, frameshtons(pCtx, pBuf, pSrc->report.Basic.meas_duration, 0); *pnConsumed += 2; pBuf += 2; - tmp147__ = 0U; - tmp147__ |= (pSrc->report.Basic.bss << 0); - tmp147__ |= (pSrc->report.Basic.ofdm_preamble << 1); - tmp147__ |= (pSrc->report.Basic.unid_signal << 2); - tmp147__ |= (pSrc->report.Basic.rader << 3); - tmp147__ |= (pSrc->report.Basic.unmeasured << 4); - tmp147__ |= (pSrc->report.Basic.unused << 5); + tmp149__ = 0U; + tmp149__ |= (pSrc->report.Basic.bss << 0); + tmp149__ |= (pSrc->report.Basic.ofdm_preamble << 1); + tmp149__ |= (pSrc->report.Basic.unid_signal << 2); + tmp149__ |= (pSrc->report.Basic.rader << 3); + tmp149__ |= (pSrc->report.Basic.unmeasured << 4); + tmp149__ |= (pSrc->report.Basic.unused << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp147__; + *pBuf = tmp149__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -23069,13 +23211,13 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, frameshtons(pCtx, pBuf, pSrc->report.Beacon.meas_duration, 0); *pnConsumed += 2; pBuf += 2; - tmp148__ = 0U; - tmp148__ |= (pSrc->report.Beacon.condensed_PHY << 0); - tmp148__ |= (pSrc->report.Beacon.reported_frame_type << 7); + tmp150__ = 0U; + tmp150__ |= (pSrc->report.Beacon.condensed_PHY << 0); + tmp150__ |= (pSrc->report.Beacon.reported_frame_type << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp148__; + *pBuf = tmp150__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -23124,7 +23266,7 @@ uint32_t dot11f_pack_ie_measurement_request(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp149__; + uint8_t tmp151__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_measurement_request(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -23139,17 +23281,17 @@ uint32_t dot11f_pack_ie_measurement_request(tpAniSirGlobal pCtx, *pBuf = pSrc->measurement_token; *pnConsumed += 1; pBuf += 1; - tmp149__ = 0U; - tmp149__ |= (pSrc->parallel << 0); - tmp149__ |= (pSrc->enable << 1); - tmp149__ |= (pSrc->request << 2); - tmp149__ |= (pSrc->report << 3); - tmp149__ |= (pSrc->durationMandatory << 4); - tmp149__ |= (pSrc->unused << 5); + tmp151__ = 0U; + tmp151__ |= (pSrc->parallel << 0); + tmp151__ |= (pSrc->enable << 1); + tmp151__ |= (pSrc->request << 2); + tmp151__ |= (pSrc->report << 3); + tmp151__ |= (pSrc->durationMandatory << 4); + tmp151__ |= (pSrc->unused << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp149__; + *pBuf = tmp151__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -23263,7 +23405,7 @@ uint32_t dot11f_pack_ie_mobility_domain(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp150__; + uint8_t tmp152__; nNeeded += 3; while (pSrc->present) { if (nNeeded > nBuf) @@ -23275,14 +23417,14 @@ uint32_t dot11f_pack_ie_mobility_domain(tpAniSirGlobal pCtx, frameshtons(pCtx, pBuf, pSrc->MDID, 0); *pnConsumed += 2; pBuf += 2; - tmp150__ = 0U; - tmp150__ |= (pSrc->overDSCap << 0); - tmp150__ |= (pSrc->resourceReqCap << 1); - tmp150__ |= (pSrc->reserved << 2); + tmp152__ = 0U; + tmp152__ |= (pSrc->overDSCap << 0); + tmp152__ |= (pSrc->resourceReqCap << 1); + tmp152__ |= (pSrc->reserved << 2); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp150__; + *pBuf = tmp152__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -23304,8 +23446,8 @@ uint32_t dot11f_pack_ie_neighbor_report(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp151__; - uint8_t tmp152__; + uint8_t tmp153__; + uint8_t tmp154__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_neighbor_report(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -23320,30 +23462,30 @@ uint32_t dot11f_pack_ie_neighbor_report(tpAniSirGlobal pCtx, DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6); *pnConsumed += 6; pBuf += 6; - tmp151__ = 0U; - tmp151__ |= (pSrc->APReachability << 0); - tmp151__ |= (pSrc->Security << 2); - tmp151__ |= (pSrc->KeyScope << 3); - tmp151__ |= (pSrc->SpecMgmtCap << 4); - tmp151__ |= (pSrc->QosCap << 5); - tmp151__ |= (pSrc->apsd << 6); - tmp151__ |= (pSrc->rrm << 7); + tmp153__ = 0U; + tmp153__ |= (pSrc->APReachability << 0); + tmp153__ |= (pSrc->Security << 2); + tmp153__ |= (pSrc->KeyScope << 3); + tmp153__ |= (pSrc->SpecMgmtCap << 4); + tmp153__ |= (pSrc->QosCap << 5); + tmp153__ |= (pSrc->apsd << 6); + tmp153__ |= (pSrc->rrm << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp151__; + *pBuf = tmp153__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - tmp152__ = 0U; - tmp152__ |= (pSrc->DelayedBA << 0); - tmp152__ |= (pSrc->ImmBA << 1); - tmp152__ |= (pSrc->MobilityDomain << 2); - tmp152__ |= (pSrc->reserved << 3); + tmp154__ = 0U; + tmp154__ |= (pSrc->DelayedBA << 0); + tmp154__ |= (pSrc->ImmBA << 1); + tmp154__ |= (pSrc->MobilityDomain << 2); + tmp154__ |= (pSrc->reserved << 3); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp152__; + *pBuf = tmp154__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -23431,7 +23573,7 @@ uint32_t dot11f_pack_ie_operating_mode(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp153__; + uint8_t tmp155__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -23440,15 +23582,15 @@ uint32_t dot11f_pack_ie_operating_mode(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp153__ = 0U; - tmp153__ |= (pSrc->chanWidth << 0); - tmp153__ |= (pSrc->reserved << 2); - tmp153__ |= (pSrc->rxNSS << 4); - tmp153__ |= (pSrc->rxNSSType << 7); + tmp155__ = 0U; + tmp155__ |= (pSrc->chanWidth << 0); + tmp155__ |= (pSrc->reserved << 2); + tmp155__ |= (pSrc->rxNSS << 4); + tmp155__ |= (pSrc->rxNSSType << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp153__; + *pBuf = tmp155__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -23923,7 +24065,7 @@ uint32_t dot11f_pack_ie_pu_buffer_status(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp154__; + uint8_t tmp156__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -23932,16 +24074,16 @@ uint32_t dot11f_pack_ie_pu_buffer_status(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp154__ = 0U; - tmp154__ |= (pSrc->ac_bk_traffic_aval << 0); - tmp154__ |= (pSrc->ac_be_traffic_aval << 1); - tmp154__ |= (pSrc->ac_vi_traffic_aval << 2); - tmp154__ |= (pSrc->ac_vo_traffic_aval << 3); - tmp154__ |= (pSrc->reserved << 4); + tmp156__ = 0U; + tmp156__ |= (pSrc->ac_bk_traffic_aval << 0); + tmp156__ |= (pSrc->ac_be_traffic_aval << 1); + tmp156__ |= (pSrc->ac_vi_traffic_aval << 2); + tmp156__ |= (pSrc->ac_vo_traffic_aval << 3); + tmp156__ |= (pSrc->reserved << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp154__; + *pBuf = tmp156__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -24097,7 +24239,7 @@ uint32_t dot11f_pack_ie_qos_caps_ap(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp155__; + uint8_t tmp157__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -24106,16 +24248,16 @@ uint32_t dot11f_pack_ie_qos_caps_ap(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp155__ = 0U; - tmp155__ |= (pSrc->count << 0); - tmp155__ |= (pSrc->qack << 4); - tmp155__ |= (pSrc->qreq << 5); - tmp155__ |= (pSrc->txopreq << 6); - tmp155__ |= (pSrc->reserved << 7); + tmp157__ = 0U; + tmp157__ |= (pSrc->count << 0); + tmp157__ |= (pSrc->qack << 4); + tmp157__ |= (pSrc->qreq << 5); + tmp157__ |= (pSrc->txopreq << 6); + tmp157__ |= (pSrc->reserved << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp155__; + *pBuf = tmp157__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -24137,7 +24279,7 @@ uint32_t dot11f_pack_ie_qos_caps_station(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp156__; + uint8_t tmp158__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -24146,18 +24288,18 @@ uint32_t dot11f_pack_ie_qos_caps_station(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp156__ = 0U; - tmp156__ |= (pSrc->acvo_uapsd << 0); - tmp156__ |= (pSrc->acvi_uapsd << 1); - tmp156__ |= (pSrc->acbk_uapsd << 2); - tmp156__ |= (pSrc->acbe_uapsd << 3); - tmp156__ |= (pSrc->qack << 4); - tmp156__ |= (pSrc->max_sp_length << 5); - tmp156__ |= (pSrc->more_data_ack << 7); + tmp158__ = 0U; + tmp158__ |= (pSrc->acvo_uapsd << 0); + tmp158__ |= (pSrc->acvi_uapsd << 1); + tmp158__ |= (pSrc->acbk_uapsd << 2); + tmp158__ |= (pSrc->acbe_uapsd << 3); + tmp158__ |= (pSrc->qack << 4); + tmp158__ |= (pSrc->max_sp_length << 5); + tmp158__ |= (pSrc->more_data_ack << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp156__; + *pBuf = tmp158__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -24798,7 +24940,7 @@ uint32_t dot11f_pack_ie_wapi(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp157__; + uint16_t tmp159__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_iewapi(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -24828,13 +24970,13 @@ uint32_t dot11f_pack_ie_wapi(tpAniSirGlobal pCtx, DOT11F_MEMCPY(pCtx, pBuf, pSrc->multicast_cipher_suite, 4); *pnConsumed += 4; pBuf += 4; - tmp157__ = 0U; - tmp157__ |= (pSrc->preauth << 0); - tmp157__ |= (pSrc->reserved << 1); + tmp159__ = 0U; + tmp159__ |= (pSrc->preauth << 0); + tmp159__ |= (pSrc->reserved << 1); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp157__, 0); + frameshtons(pCtx, pBuf, tmp159__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -24974,7 +25116,7 @@ uint32_t dot11f_pack_ie_wmm_caps(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp158__; + uint8_t tmp160__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -24996,16 +25138,16 @@ uint32_t dot11f_pack_ie_wmm_caps(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *pnConsumed += 1; pBuf += 1; - tmp158__ = 0U; - tmp158__ |= (pSrc->reserved << 0); - tmp158__ |= (pSrc->qack << 4); - tmp158__ |= (pSrc->queue_request << 5); - tmp158__ |= (pSrc->txop_request << 6); - tmp158__ |= (pSrc->more_ack << 7); + tmp160__ = 0U; + tmp160__ |= (pSrc->reserved << 0); + tmp160__ |= (pSrc->qack << 4); + tmp160__ |= (pSrc->queue_request << 5); + tmp160__ |= (pSrc->txop_request << 6); + tmp160__ |= (pSrc->more_ack << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp158__; + *pBuf = tmp160__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -25027,7 +25169,7 @@ uint32_t dot11f_pack_ie_wmm_info_ap(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp159__; + uint8_t tmp161__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -25049,14 +25191,14 @@ uint32_t dot11f_pack_ie_wmm_info_ap(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *pnConsumed += 1; pBuf += 1; - tmp159__ = 0U; - tmp159__ |= (pSrc->param_set_count << 0); - tmp159__ |= (pSrc->reserved << 4); - tmp159__ |= (pSrc->uapsd << 7); + tmp161__ = 0U; + tmp161__ |= (pSrc->param_set_count << 0); + tmp161__ |= (pSrc->reserved << 4); + tmp161__ |= (pSrc->uapsd << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp159__; + *pBuf = tmp161__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -25078,7 +25220,7 @@ uint32_t dot11f_pack_ie_wmm_info_station(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp160__; + uint8_t tmp162__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -25100,18 +25242,18 @@ uint32_t dot11f_pack_ie_wmm_info_station(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *pnConsumed += 1; pBuf += 1; - tmp160__ = 0U; - tmp160__ |= (pSrc->acvo_uapsd << 0); - tmp160__ |= (pSrc->acvi_uapsd << 1); - tmp160__ |= (pSrc->acbk_uapsd << 2); - tmp160__ |= (pSrc->acbe_uapsd << 3); - tmp160__ |= (pSrc->reserved1 << 4); - tmp160__ |= (pSrc->max_sp_length << 5); - tmp160__ |= (pSrc->reserved2 << 7); + tmp162__ = 0U; + tmp162__ |= (pSrc->acvo_uapsd << 0); + tmp162__ |= (pSrc->acvi_uapsd << 1); + tmp162__ |= (pSrc->acbk_uapsd << 2); + tmp162__ |= (pSrc->acbe_uapsd << 3); + tmp162__ |= (pSrc->reserved1 << 4); + tmp162__ |= (pSrc->max_sp_length << 5); + tmp162__ |= (pSrc->reserved2 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp160__; + *pBuf = tmp162__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -25133,14 +25275,14 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp161__; - uint8_t tmp162__; uint8_t tmp163__; uint8_t tmp164__; uint8_t tmp165__; uint8_t tmp166__; uint8_t tmp167__; uint8_t tmp168__; + uint8_t tmp169__; + uint8_t tmp170__; nNeeded += 19; while (pSrc->present) { if (nNeeded > nBuf) @@ -25168,36 +25310,11 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, *pBuf = pSrc->reserved2; *pnConsumed += 1; pBuf += 1; - tmp161__ = 0U; - tmp161__ |= (pSrc->acbe_aifsn << 0); - tmp161__ |= (pSrc->acbe_acm << 4); - tmp161__ |= (pSrc->acbe_aci << 5); - tmp161__ |= (pSrc->unused1 << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp161__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - tmp162__ = 0U; - tmp162__ |= (pSrc->acbe_acwmin << 0); - tmp162__ |= (pSrc->acbe_acwmax << 4); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp162__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0); - *pnConsumed += 2; - pBuf += 2; tmp163__ = 0U; - tmp163__ |= (pSrc->acbk_aifsn << 0); - tmp163__ |= (pSrc->acbk_acm << 4); - tmp163__ |= (pSrc->acbk_aci << 5); - tmp163__ |= (pSrc->unused2 << 7); + tmp163__ |= (pSrc->acbe_aifsn << 0); + tmp163__ |= (pSrc->acbe_acm << 4); + tmp163__ |= (pSrc->acbe_aci << 5); + tmp163__ |= (pSrc->unused1 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -25206,8 +25323,8 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp164__ = 0U; - tmp164__ |= (pSrc->acbk_acwmin << 0); - tmp164__ |= (pSrc->acbk_acwmax << 4); + tmp164__ |= (pSrc->acbe_acwmin << 0); + tmp164__ |= (pSrc->acbe_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -25215,14 +25332,14 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0); + frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0); *pnConsumed += 2; pBuf += 2; tmp165__ = 0U; - tmp165__ |= (pSrc->acvi_aifsn << 0); - tmp165__ |= (pSrc->acvi_acm << 4); - tmp165__ |= (pSrc->acvi_aci << 5); - tmp165__ |= (pSrc->unused3 << 7); + tmp165__ |= (pSrc->acbk_aifsn << 0); + tmp165__ |= (pSrc->acbk_acm << 4); + tmp165__ |= (pSrc->acbk_aci << 5); + tmp165__ |= (pSrc->unused2 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -25231,8 +25348,8 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp166__ = 0U; - tmp166__ |= (pSrc->acvi_acwmin << 0); - tmp166__ |= (pSrc->acvi_acwmax << 4); + tmp166__ |= (pSrc->acbk_acwmin << 0); + tmp166__ |= (pSrc->acbk_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -25240,14 +25357,14 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0); + frameshtons(pCtx, pBuf, pSrc->acbk_txoplimit, 0); *pnConsumed += 2; pBuf += 2; tmp167__ = 0U; - tmp167__ |= (pSrc->acvo_aifsn << 0); - tmp167__ |= (pSrc->acvo_acm << 4); - tmp167__ |= (pSrc->acvo_aci << 5); - tmp167__ |= (pSrc->unused4 << 7); + tmp167__ |= (pSrc->acvi_aifsn << 0); + tmp167__ |= (pSrc->acvi_acm << 4); + tmp167__ |= (pSrc->acvi_aci << 5); + tmp167__ |= (pSrc->unused3 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -25256,8 +25373,8 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp168__ = 0U; - tmp168__ |= (pSrc->acvo_acwmin << 0); - tmp168__ |= (pSrc->acvo_acwmax << 4); + tmp168__ |= (pSrc->acvi_acwmin << 0); + tmp168__ |= (pSrc->acvi_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -25265,6 +25382,31 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; + frameshtons(pCtx, pBuf, pSrc->acvi_txoplimit, 0); + *pnConsumed += 2; + pBuf += 2; + tmp169__ = 0U; + tmp169__ |= (pSrc->acvo_aifsn << 0); + tmp169__ |= (pSrc->acvo_acm << 4); + tmp169__ |= (pSrc->acvo_aci << 5); + tmp169__ |= (pSrc->unused4 << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp169__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp170__ = 0U; + tmp170__ |= (pSrc->acvo_acwmin << 0); + tmp170__ |= (pSrc->acvo_acwmax << 4); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp170__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; frameshtons(pCtx, pBuf, pSrc->acvo_txoplimit, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ @@ -25818,7 +25960,7 @@ uint32_t dot11f_pack_ie_addba_extn_element(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp169__; + uint8_t tmp171__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -25827,14 +25969,14 @@ uint32_t dot11f_pack_ie_addba_extn_element(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp169__ = 0U; - tmp169__ |= (pSrc->no_fragmentation << 0); - tmp169__ |= (pSrc->he_frag_operation << 1); - tmp169__ |= (pSrc->reserved << 3); + tmp171__ = 0U; + tmp171__ |= (pSrc->no_fragmentation << 0); + tmp171__ |= (pSrc->he_frag_operation << 1); + tmp171__ |= (pSrc->reserved << 3); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp169__; + *pBuf = tmp171__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -25856,7 +25998,7 @@ uint32_t dot11f_pack_ie_bss_color_change(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp170__; + uint8_t tmp172__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -25870,13 +26012,13 @@ uint32_t dot11f_pack_ie_bss_color_change(tpAniSirGlobal pCtx, *pBuf = pSrc->countdown; *pnConsumed += 1; pBuf += 1; - tmp170__ = 0U; - tmp170__ |= (pSrc->new_color << 0); - tmp170__ |= (pSrc->reserved << 6); + tmp172__ = 0U; + tmp172__ |= (pSrc->new_color << 0); + tmp172__ |= (pSrc->reserved << 6); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp170__; + *pBuf = tmp172__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -26069,7 +26211,7 @@ uint32_t dot11f_pack_ie_fils_indication(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp171__; + uint16_t tmp173__; nNeeded += (pSrc->num_variable_data + 2); while (pSrc->present) { if (nNeeded > nBuf) @@ -26078,20 +26220,20 @@ uint32_t dot11f_pack_ie_fils_indication(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp171__ = 0U; - tmp171__ |= (pSrc->public_key_identifiers_cnt << 0); - tmp171__ |= (pSrc->realm_identifiers_cnt << 3); - tmp171__ |= (pSrc->is_ip_config_supported << 6); - tmp171__ |= (pSrc->is_cache_id_present << 7); - tmp171__ |= (pSrc->is_hessid_present << 8); - tmp171__ |= (pSrc->is_fils_sk_auth_supported << 9); - tmp171__ |= (pSrc->is_fils_sk_auth_pfs_supported << 10); - tmp171__ |= (pSrc->is_pk_auth_supported << 11); - tmp171__ |= (pSrc->reserved << 12); + tmp173__ = 0U; + tmp173__ |= (pSrc->public_key_identifiers_cnt << 0); + tmp173__ |= (pSrc->realm_identifiers_cnt << 3); + tmp173__ |= (pSrc->is_ip_config_supported << 6); + tmp173__ |= (pSrc->is_cache_id_present << 7); + tmp173__ |= (pSrc->is_hessid_present << 8); + tmp173__ |= (pSrc->is_fils_sk_auth_supported << 9); + tmp173__ |= (pSrc->is_fils_sk_auth_pfs_supported << 10); + tmp173__ |= (pSrc->is_pk_auth_supported << 11); + tmp173__ |= (pSrc->reserved << 12); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp171__, 0); + frameshtons(pCtx, pBuf, tmp173__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -26328,6 +26470,51 @@ uint32_t dot11f_pack_ie_fragment_ie(tpAniSirGlobal pCtx, return DOT11F_PARSE_SUCCESS; } /* End dot11f_pack_ie_fragment_ie. */ +uint32_t dot11f_pack_ie_he_6ghz_band_cap(tpAniSirGlobal pCtx, + tDot11fIEhe_6ghz_band_cap *pSrc, + uint8_t *pBuf, + uint32_t nBuf, + uint32_t *pnConsumed) +{ + uint8_t *pIeLen = 0; + uint32_t nConsumedOnEntry = *pnConsumed; + uint32_t nNeeded = 0U; + uint16_t tmp174__; + nNeeded += 2; + while (pSrc->present) { + if (nNeeded > nBuf) + return DOT11F_BUFFER_OVERFLOW; + *pBuf = 255; + ++pBuf; ++(*pnConsumed); + pIeLen = pBuf; + ++pBuf; ++(*pnConsumed); + *pBuf = 59; + ++pBuf; ++(*pnConsumed); + tmp174__ = 0U; + tmp174__ |= (pSrc->min_mpdu_start_spacing << 0); + tmp174__ |= (pSrc->max_ampdu_len_exp << 3); + tmp174__ |= (pSrc->max_mpdu_len << 6); + tmp174__ |= (pSrc->sm_pow_save << 9); + tmp174__ |= (pSrc->rd_responder << 11); + tmp174__ |= (pSrc->rx_ant_pattern_consistency << 12); + tmp174__ |= (pSrc->tx_ant_pattern_consistency << 13); + tmp174__ |= (pSrc->reserved << 14); + if (unlikely(nBuf < 2)) + return DOT11F_INCOMPLETE_IE; + + frameshtons(pCtx, pBuf, tmp174__, 0); + *pnConsumed += 2; + /* fieldsEndFlag = 1 */ + nBuf -= 2 ; + break; + } + (void)pCtx; + if (pIeLen) { + *pIeLen = *pnConsumed - nConsumedOnEntry - 2; + } + return DOT11F_PARSE_SUCCESS; +} /* End dot11f_pack_ie_he_6ghz_band_cap. */ + uint32_t dot11f_pack_ie_he_cap(tpAniSirGlobal pCtx, tDot11fIEhe_cap *pSrc, uint8_t *pBuf, @@ -26337,11 +26524,11 @@ uint32_t dot11f_pack_ie_he_cap(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint32_t tmp172__; - uint16_t tmp173__; - uint32_t tmp174__; uint32_t tmp175__; uint16_t tmp176__; + uint32_t tmp177__; + uint32_t tmp178__; + uint16_t tmp179__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_he_cap(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -26355,110 +26542,30 @@ uint32_t dot11f_pack_ie_he_cap(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); *pBuf = 35; ++pBuf; ++(*pnConsumed); - tmp172__ = 0U; - tmp172__ |= (pSrc->htc_he << 0); - tmp172__ |= (pSrc->twt_request << 1); - tmp172__ |= (pSrc->twt_responder << 2); - tmp172__ |= (pSrc->fragmentation << 3); - tmp172__ |= (pSrc->max_num_frag_msdu_amsdu_exp << 5); - tmp172__ |= (pSrc->min_frag_size << 8); - tmp172__ |= (pSrc->trigger_frm_mac_pad << 10); - tmp172__ |= (pSrc->multi_tid_aggr_rx_supp << 12); - tmp172__ |= (pSrc->he_link_adaptation << 15); - tmp172__ |= (pSrc->all_ack << 17); - tmp172__ |= (pSrc->trigd_rsp_sched << 18); - tmp172__ |= (pSrc->a_bsr << 19); - tmp172__ |= (pSrc->broadcast_twt << 20); - tmp172__ |= (pSrc->ba_32bit_bitmap << 21); - tmp172__ |= (pSrc->mu_cascade << 22); - tmp172__ |= (pSrc->ack_enabled_multitid << 23); - tmp172__ |= (pSrc->reserved << 24); - tmp172__ |= (pSrc->omi_a_ctrl << 25); - tmp172__ |= (pSrc->ofdma_ra << 26); - tmp172__ |= (pSrc->max_ampdu_len_exp_ext << 27); - tmp172__ |= (pSrc->amsdu_frag << 29); - tmp172__ |= (pSrc->flex_twt_sched << 30); - tmp172__ |= (pSrc->rx_ctrl_frame << 31); - if (unlikely(nBuf < 4)) - return DOT11F_INCOMPLETE_IE; - - frameshtonl(pCtx, pBuf, tmp172__, 0); - *pnConsumed += 4; - pBuf += 4; - nBuf -= 4 ; - tmp173__ = 0U; - tmp173__ |= (pSrc->bsrp_ampdu_aggr << 0); - tmp173__ |= (pSrc->qtp << 1); - tmp173__ |= (pSrc->a_bqr << 2); - tmp173__ |= (pSrc->spatial_reuse_param_rspder << 3); - tmp173__ |= (pSrc->ndp_feedback_supp << 4); - tmp173__ |= (pSrc->ops_supp << 5); - tmp173__ |= (pSrc->amsdu_in_ampdu << 6); - tmp173__ |= (pSrc->multi_tid_aggr_tx_supp << 7); - tmp173__ |= (pSrc->he_sub_ch_sel_tx_supp << 10); - tmp173__ |= (pSrc->ul_2x996_tone_ru_supp << 11); - tmp173__ |= (pSrc->om_ctrl_ul_mu_data_dis_rx << 12); - tmp173__ |= (pSrc->he_dynamic_smps << 13); - tmp173__ |= (pSrc->punctured_sounding_supp << 14); - tmp173__ |= (pSrc->ht_vht_trg_frm_rx_supp << 15); - if (unlikely(nBuf < 2)) - return DOT11F_INCOMPLETE_IE; - - frameshtons(pCtx, pBuf, tmp173__, 0); - *pnConsumed += 2; - pBuf += 2; - nBuf -= 2 ; - tmp174__ = 0U; - tmp174__ |= (pSrc->reserved2 << 0); - tmp174__ |= (pSrc->chan_width_0 << 1); - tmp174__ |= (pSrc->chan_width_1 << 2); - tmp174__ |= (pSrc->chan_width_2 << 3); - tmp174__ |= (pSrc->chan_width_3 << 4); - tmp174__ |= (pSrc->chan_width_4 << 5); - tmp174__ |= (pSrc->chan_width_5 << 6); - tmp174__ |= (pSrc->chan_width_6 << 7); - tmp174__ |= (pSrc->rx_pream_puncturing << 8); - tmp174__ |= (pSrc->device_class << 12); - tmp174__ |= (pSrc->ldpc_coding << 13); - tmp174__ |= (pSrc->he_1x_ltf_800_gi_ppdu << 14); - tmp174__ |= (pSrc->midamble_tx_rx_max_nsts << 15); - tmp174__ |= (pSrc->he_4x_ltf_3200_gi_ndp << 17); - tmp174__ |= (pSrc->tb_ppdu_tx_stbc_lt_80mhz << 18); - tmp174__ |= (pSrc->rx_stbc_lt_80mhz << 19); - tmp174__ |= (pSrc->doppler << 20); - tmp174__ |= (pSrc->ul_mu << 22); - tmp174__ |= (pSrc->dcm_enc_tx << 24); - tmp174__ |= (pSrc->dcm_enc_rx << 27); - tmp174__ |= (pSrc->ul_he_mu << 30); - tmp174__ |= (pSrc->su_beamformer << 31); - if (unlikely(nBuf < 4)) - return DOT11F_INCOMPLETE_IE; - - frameshtonl(pCtx, pBuf, tmp174__, 0); - *pnConsumed += 4; - pBuf += 4; - nBuf -= 4 ; tmp175__ = 0U; - tmp175__ |= (pSrc->su_beamformee << 0); - tmp175__ |= (pSrc->mu_beamformer << 1); - tmp175__ |= (pSrc->bfee_sts_lt_80 << 2); - tmp175__ |= (pSrc->bfee_sts_gt_80 << 5); - tmp175__ |= (pSrc->num_sounding_lt_80 << 8); - tmp175__ |= (pSrc->num_sounding_gt_80 << 11); - tmp175__ |= (pSrc->su_feedback_tone16 << 14); - tmp175__ |= (pSrc->mu_feedback_tone16 << 15); - tmp175__ |= (pSrc->codebook_su << 16); - tmp175__ |= (pSrc->codebook_mu << 17); - tmp175__ |= (pSrc->beamforming_feedback << 18); - tmp175__ |= (pSrc->he_er_su_ppdu << 21); - tmp175__ |= (pSrc->dl_mu_mimo_part_bw << 22); - tmp175__ |= (pSrc->ppet_present << 23); - tmp175__ |= (pSrc->srp << 24); - tmp175__ |= (pSrc->power_boost << 25); - tmp175__ |= (pSrc->he_ltf_800_gi_4x << 26); - tmp175__ |= (pSrc->max_nc << 27); - tmp175__ |= (pSrc->tb_ppdu_tx_stbc_gt_80mhz << 30); - tmp175__ |= (pSrc->rx_stbc_gt_80mhz << 31); + tmp175__ |= (pSrc->htc_he << 0); + tmp175__ |= (pSrc->twt_request << 1); + tmp175__ |= (pSrc->twt_responder << 2); + tmp175__ |= (pSrc->fragmentation << 3); + tmp175__ |= (pSrc->max_num_frag_msdu_amsdu_exp << 5); + tmp175__ |= (pSrc->min_frag_size << 8); + tmp175__ |= (pSrc->trigger_frm_mac_pad << 10); + tmp175__ |= (pSrc->multi_tid_aggr_rx_supp << 12); + tmp175__ |= (pSrc->he_link_adaptation << 15); + tmp175__ |= (pSrc->all_ack << 17); + tmp175__ |= (pSrc->trigd_rsp_sched << 18); + tmp175__ |= (pSrc->a_bsr << 19); + tmp175__ |= (pSrc->broadcast_twt << 20); + tmp175__ |= (pSrc->ba_32bit_bitmap << 21); + tmp175__ |= (pSrc->mu_cascade << 22); + tmp175__ |= (pSrc->ack_enabled_multitid << 23); + tmp175__ |= (pSrc->reserved << 24); + tmp175__ |= (pSrc->omi_a_ctrl << 25); + tmp175__ |= (pSrc->ofdma_ra << 26); + tmp175__ |= (pSrc->max_ampdu_len_exp_ext << 27); + tmp175__ |= (pSrc->amsdu_frag << 29); + tmp175__ |= (pSrc->flex_twt_sched << 30); + tmp175__ |= (pSrc->rx_ctrl_frame << 31); if (unlikely(nBuf < 4)) return DOT11F_INCOMPLETE_IE; @@ -26467,20 +26574,20 @@ uint32_t dot11f_pack_ie_he_cap(tpAniSirGlobal pCtx, pBuf += 4; nBuf -= 4 ; tmp176__ = 0U; - tmp176__ |= (pSrc->er_he_ltf_800_gi_4x << 0); - tmp176__ |= (pSrc->he_ppdu_20_in_40Mhz_2G << 1); - tmp176__ |= (pSrc->he_ppdu_20_in_160_80p80Mhz << 2); - tmp176__ |= (pSrc->he_ppdu_80_in_160_80p80Mhz << 3); - tmp176__ |= (pSrc->er_1x_he_ltf_gi << 4); - tmp176__ |= (pSrc->midamble_tx_rx_1x_he_ltf << 5); - tmp176__ |= (pSrc->dcm_max_bw << 6); - tmp176__ |= (pSrc->longer_than_16_he_sigb_ofdm_sym << 8); - tmp176__ |= (pSrc->non_trig_cqi_feedback << 9); - tmp176__ |= (pSrc->tx_1024_qam_lt_242_tone_ru << 10); - tmp176__ |= (pSrc->rx_1024_qam_lt_242_tone_ru << 11); - tmp176__ |= (pSrc->rx_full_bw_su_he_mu_compress_sigb << 12); - tmp176__ |= (pSrc->rx_full_bw_su_he_mu_non_cmpr_sigb << 13); - tmp176__ |= (pSrc->reserved3 << 14); + tmp176__ |= (pSrc->bsrp_ampdu_aggr << 0); + tmp176__ |= (pSrc->qtp << 1); + tmp176__ |= (pSrc->a_bqr << 2); + tmp176__ |= (pSrc->spatial_reuse_param_rspder << 3); + tmp176__ |= (pSrc->ndp_feedback_supp << 4); + tmp176__ |= (pSrc->ops_supp << 5); + tmp176__ |= (pSrc->amsdu_in_ampdu << 6); + tmp176__ |= (pSrc->multi_tid_aggr_tx_supp << 7); + tmp176__ |= (pSrc->he_sub_ch_sel_tx_supp << 10); + tmp176__ |= (pSrc->ul_2x996_tone_ru_supp << 11); + tmp176__ |= (pSrc->om_ctrl_ul_mu_data_dis_rx << 12); + tmp176__ |= (pSrc->he_dynamic_smps << 13); + tmp176__ |= (pSrc->punctured_sounding_supp << 14); + tmp176__ |= (pSrc->ht_vht_trg_frm_rx_supp << 15); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; @@ -26488,6 +26595,86 @@ uint32_t dot11f_pack_ie_he_cap(tpAniSirGlobal pCtx, *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; + tmp177__ = 0U; + tmp177__ |= (pSrc->reserved2 << 0); + tmp177__ |= (pSrc->chan_width_0 << 1); + tmp177__ |= (pSrc->chan_width_1 << 2); + tmp177__ |= (pSrc->chan_width_2 << 3); + tmp177__ |= (pSrc->chan_width_3 << 4); + tmp177__ |= (pSrc->chan_width_4 << 5); + tmp177__ |= (pSrc->chan_width_5 << 6); + tmp177__ |= (pSrc->chan_width_6 << 7); + tmp177__ |= (pSrc->rx_pream_puncturing << 8); + tmp177__ |= (pSrc->device_class << 12); + tmp177__ |= (pSrc->ldpc_coding << 13); + tmp177__ |= (pSrc->he_1x_ltf_800_gi_ppdu << 14); + tmp177__ |= (pSrc->midamble_tx_rx_max_nsts << 15); + tmp177__ |= (pSrc->he_4x_ltf_3200_gi_ndp << 17); + tmp177__ |= (pSrc->tb_ppdu_tx_stbc_lt_80mhz << 18); + tmp177__ |= (pSrc->rx_stbc_lt_80mhz << 19); + tmp177__ |= (pSrc->doppler << 20); + tmp177__ |= (pSrc->ul_mu << 22); + tmp177__ |= (pSrc->dcm_enc_tx << 24); + tmp177__ |= (pSrc->dcm_enc_rx << 27); + tmp177__ |= (pSrc->ul_he_mu << 30); + tmp177__ |= (pSrc->su_beamformer << 31); + if (unlikely(nBuf < 4)) + return DOT11F_INCOMPLETE_IE; + + frameshtonl(pCtx, pBuf, tmp177__, 0); + *pnConsumed += 4; + pBuf += 4; + nBuf -= 4 ; + tmp178__ = 0U; + tmp178__ |= (pSrc->su_beamformee << 0); + tmp178__ |= (pSrc->mu_beamformer << 1); + tmp178__ |= (pSrc->bfee_sts_lt_80 << 2); + tmp178__ |= (pSrc->bfee_sts_gt_80 << 5); + tmp178__ |= (pSrc->num_sounding_lt_80 << 8); + tmp178__ |= (pSrc->num_sounding_gt_80 << 11); + tmp178__ |= (pSrc->su_feedback_tone16 << 14); + tmp178__ |= (pSrc->mu_feedback_tone16 << 15); + tmp178__ |= (pSrc->codebook_su << 16); + tmp178__ |= (pSrc->codebook_mu << 17); + tmp178__ |= (pSrc->beamforming_feedback << 18); + tmp178__ |= (pSrc->he_er_su_ppdu << 21); + tmp178__ |= (pSrc->dl_mu_mimo_part_bw << 22); + tmp178__ |= (pSrc->ppet_present << 23); + tmp178__ |= (pSrc->srp << 24); + tmp178__ |= (pSrc->power_boost << 25); + tmp178__ |= (pSrc->he_ltf_800_gi_4x << 26); + tmp178__ |= (pSrc->max_nc << 27); + tmp178__ |= (pSrc->tb_ppdu_tx_stbc_gt_80mhz << 30); + tmp178__ |= (pSrc->rx_stbc_gt_80mhz << 31); + if (unlikely(nBuf < 4)) + return DOT11F_INCOMPLETE_IE; + + frameshtonl(pCtx, pBuf, tmp178__, 0); + *pnConsumed += 4; + pBuf += 4; + nBuf -= 4 ; + tmp179__ = 0U; + tmp179__ |= (pSrc->er_he_ltf_800_gi_4x << 0); + tmp179__ |= (pSrc->he_ppdu_20_in_40Mhz_2G << 1); + tmp179__ |= (pSrc->he_ppdu_20_in_160_80p80Mhz << 2); + tmp179__ |= (pSrc->he_ppdu_80_in_160_80p80Mhz << 3); + tmp179__ |= (pSrc->er_1x_he_ltf_gi << 4); + tmp179__ |= (pSrc->midamble_tx_rx_1x_he_ltf << 5); + tmp179__ |= (pSrc->dcm_max_bw << 6); + tmp179__ |= (pSrc->longer_than_16_he_sigb_ofdm_sym << 8); + tmp179__ |= (pSrc->non_trig_cqi_feedback << 9); + tmp179__ |= (pSrc->tx_1024_qam_lt_242_tone_ru << 10); + tmp179__ |= (pSrc->rx_1024_qam_lt_242_tone_ru << 11); + tmp179__ |= (pSrc->rx_full_bw_su_he_mu_compress_sigb << 12); + tmp179__ |= (pSrc->rx_full_bw_su_he_mu_non_cmpr_sigb << 13); + tmp179__ |= (pSrc->reserved3 << 14); + if (unlikely(nBuf < 2)) + return DOT11F_INCOMPLETE_IE; + + frameshtons(pCtx, pBuf, tmp179__, 0); + *pnConsumed += 2; + pBuf += 2; + nBuf -= 2 ; *pBuf = pSrc->reserved4; *pnConsumed += 1; pBuf += 1; @@ -26538,9 +26725,10 @@ uint32_t dot11f_pack_ie_he_op(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp177__; - uint8_t tmp178__; - uint8_t tmp179__; + uint16_t tmp180__; + uint8_t tmp181__; + uint8_t tmp182__; + uint8_t tmp183__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_he_op(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -26554,37 +26742,38 @@ uint32_t dot11f_pack_ie_he_op(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); *pBuf = 36; ++pBuf; ++(*pnConsumed); - tmp177__ = 0U; - tmp177__ |= (pSrc->default_pe << 0); - tmp177__ |= (pSrc->twt_required << 3); - tmp177__ |= (pSrc->txop_rts_threshold << 4); - tmp177__ |= (pSrc->vht_oper_present << 14); - tmp177__ |= (pSrc->co_located_bss << 15); + tmp180__ = 0U; + tmp180__ |= (pSrc->default_pe << 0); + tmp180__ |= (pSrc->twt_required << 3); + tmp180__ |= (pSrc->txop_rts_threshold << 4); + tmp180__ |= (pSrc->vht_oper_present << 14); + tmp180__ |= (pSrc->co_located_bss << 15); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp177__, 0); + frameshtons(pCtx, pBuf, tmp180__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; - tmp178__ = 0U; - tmp178__ |= (pSrc->er_su_disable << 0); - tmp178__ |= (pSrc->reserved2 << 1); + tmp181__ = 0U; + tmp181__ |= (pSrc->er_su_disable << 0); + tmp181__ |= (pSrc->oper_info_6g_present << 1); + tmp181__ |= (pSrc->reserved2 << 2); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp178__; + *pBuf = tmp181__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - tmp179__ = 0U; - tmp179__ |= (pSrc->bss_color << 0); - tmp179__ |= (pSrc->partial_bss_col << 6); - tmp179__ |= (pSrc->bss_col_disabled << 7); + tmp182__ = 0U; + tmp182__ |= (pSrc->bss_color << 0); + tmp182__ |= (pSrc->partial_bss_col << 6); + tmp182__ |= (pSrc->bss_col_disabled << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp179__; + *pBuf = tmp182__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -26605,19 +26794,44 @@ uint32_t dot11f_pack_ie_he_op(tpAniSirGlobal pCtx, pBuf += 1; break; } - } else { - break; } if (pSrc->co_located_bss) { switch (pSrc->co_located_bss) { case 1: *pBuf = pSrc->maxbssid_ind.info.data; *pnConsumed += 1; + pBuf += 1; + break; + } + } + if (pSrc->oper_info_6g_present) { + switch (pSrc->oper_info_6g_present) { + case 1: + *pBuf = pSrc->oper_info_6g.info.primary_ch; + *pnConsumed += 1; + pBuf += 1; + tmp183__ = 0U; + tmp183__ |= (pSrc->oper_info_6g.info.ch_width << 0); + tmp183__ |= (pSrc->oper_info_6g.info.dup_bcon << 2); + tmp183__ |= (pSrc->oper_info_6g.info.reserved << 3); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp183__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + *pBuf = pSrc->oper_info_6g.info.center_freq_seg0; + *pnConsumed += 1; + pBuf += 1; + *pBuf = pSrc->oper_info_6g.info.center_freq_seg1; + *pnConsumed += 1; + pBuf += 1; + *pBuf = pSrc->oper_info_6g.info.min_rate; + *pnConsumed += 1; /* fieldsEndFlag = 1 */ break; } - } else { - break; } break; } @@ -26637,7 +26851,7 @@ uint32_t dot11f_pack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp180__; + uint8_t tmp184__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_hs20vendor_ie(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -26657,15 +26871,15 @@ uint32_t dot11f_pack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); *pBuf = 0x10; ++pBuf; ++(*pnConsumed); - tmp180__ = 0U; - tmp180__ |= (pSrc->dgaf_dis << 0); - tmp180__ |= (pSrc->hs_id_present << 1); - tmp180__ |= (pSrc->reserved << 3); - tmp180__ |= (pSrc->release_num << 4); + tmp184__ = 0U; + tmp184__ |= (pSrc->dgaf_dis << 0); + tmp184__ |= (pSrc->hs_id_present << 1); + tmp184__ |= (pSrc->reserved << 3); + tmp184__ |= (pSrc->release_num << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp180__; + *pBuf = tmp184__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -26703,7 +26917,7 @@ uint32_t dot11f_pack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp181__; + uint8_t tmp185__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -26712,17 +26926,17 @@ uint32_t dot11f_pack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp181__ = 0U; - tmp181__ |= (pSrc->info_request << 0); - tmp181__ |= (pSrc->forty_mhz_intolerant << 1); - tmp181__ |= (pSrc->twenty_mhz_bsswidth_req << 2); - tmp181__ |= (pSrc->obss_scan_exemption_req << 3); - tmp181__ |= (pSrc->obss_scan_exemption_grant << 4); - tmp181__ |= (pSrc->unused << 5); + tmp185__ = 0U; + tmp185__ |= (pSrc->info_request << 0); + tmp185__ |= (pSrc->forty_mhz_intolerant << 1); + tmp185__ |= (pSrc->twenty_mhz_bsswidth_req << 2); + tmp185__ |= (pSrc->obss_scan_exemption_req << 3); + tmp185__ |= (pSrc->obss_scan_exemption_grant << 4); + tmp185__ |= (pSrc->unused << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp181__; + *pBuf = tmp185__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -26776,14 +26990,14 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp182__; - uint8_t tmp183__; - uint8_t tmp184__; - uint8_t tmp185__; uint8_t tmp186__; uint8_t tmp187__; uint8_t tmp188__; uint8_t tmp189__; + uint8_t tmp190__; + uint8_t tmp191__; + uint8_t tmp192__; + uint8_t tmp193__; nNeeded += 13; while (pSrc->present) { if (nNeeded > nBuf) @@ -26797,61 +27011,11 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, *pBuf = pSrc->qos; *pnConsumed += 1; pBuf += 1; - tmp182__ = 0U; - tmp182__ |= (pSrc->acbe_aifsn << 0); - tmp182__ |= (pSrc->acbe_acm << 4); - tmp182__ |= (pSrc->acbe_aci << 5); - tmp182__ |= (pSrc->unused1 << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp182__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - tmp183__ = 0U; - tmp183__ |= (pSrc->acbe_acwmin << 0); - tmp183__ |= (pSrc->acbe_acwmax << 4); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp183__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - *pBuf = pSrc->acbe_muedca_timer; - *pnConsumed += 1; - pBuf += 1; - tmp184__ = 0U; - tmp184__ |= (pSrc->acbk_aifsn << 0); - tmp184__ |= (pSrc->acbk_acm << 4); - tmp184__ |= (pSrc->acbk_aci << 5); - tmp184__ |= (pSrc->unused2 << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp184__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - tmp185__ = 0U; - tmp185__ |= (pSrc->acbk_acwmin << 0); - tmp185__ |= (pSrc->acbk_acwmax << 4); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp185__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - *pBuf = pSrc->acbk_muedca_timer; - *pnConsumed += 1; - pBuf += 1; tmp186__ = 0U; - tmp186__ |= (pSrc->acvi_aifsn << 0); - tmp186__ |= (pSrc->acvi_acm << 4); - tmp186__ |= (pSrc->acvi_aci << 5); - tmp186__ |= (pSrc->unused3 << 7); + tmp186__ |= (pSrc->acbe_aifsn << 0); + tmp186__ |= (pSrc->acbe_acm << 4); + tmp186__ |= (pSrc->acbe_aci << 5); + tmp186__ |= (pSrc->unused1 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -26860,8 +27024,8 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp187__ = 0U; - tmp187__ |= (pSrc->acvi_acwmin << 0); - tmp187__ |= (pSrc->acvi_acwmax << 4); + tmp187__ |= (pSrc->acbe_acwmin << 0); + tmp187__ |= (pSrc->acbe_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -26869,14 +27033,14 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - *pBuf = pSrc->acvi_muedca_timer; + *pBuf = pSrc->acbe_muedca_timer; *pnConsumed += 1; pBuf += 1; tmp188__ = 0U; - tmp188__ |= (pSrc->acvo_aifsn << 0); - tmp188__ |= (pSrc->acvo_acm << 4); - tmp188__ |= (pSrc->acvo_aci << 5); - tmp188__ |= (pSrc->unused4 << 7); + tmp188__ |= (pSrc->acbk_aifsn << 0); + tmp188__ |= (pSrc->acbk_acm << 4); + tmp188__ |= (pSrc->acbk_aci << 5); + tmp188__ |= (pSrc->unused2 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -26885,8 +27049,8 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp189__ = 0U; - tmp189__ |= (pSrc->acvo_acwmin << 0); - tmp189__ |= (pSrc->acvo_acwmax << 4); + tmp189__ |= (pSrc->acbk_acwmin << 0); + tmp189__ |= (pSrc->acbk_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -26894,6 +27058,56 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; + *pBuf = pSrc->acbk_muedca_timer; + *pnConsumed += 1; + pBuf += 1; + tmp190__ = 0U; + tmp190__ |= (pSrc->acvi_aifsn << 0); + tmp190__ |= (pSrc->acvi_acm << 4); + tmp190__ |= (pSrc->acvi_aci << 5); + tmp190__ |= (pSrc->unused3 << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp190__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp191__ = 0U; + tmp191__ |= (pSrc->acvi_acwmin << 0); + tmp191__ |= (pSrc->acvi_acwmax << 4); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp191__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + *pBuf = pSrc->acvi_muedca_timer; + *pnConsumed += 1; + pBuf += 1; + tmp192__ = 0U; + tmp192__ |= (pSrc->acvo_aifsn << 0); + tmp192__ |= (pSrc->acvo_acm << 4); + tmp192__ |= (pSrc->acvo_aci << 5); + tmp192__ |= (pSrc->unused4 << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp192__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp193__ = 0U; + tmp193__ |= (pSrc->acvo_acwmin << 0); + tmp193__ |= (pSrc->acvo_acwmax << 4); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp193__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; *pBuf = pSrc->acvo_muedca_timer; *pnConsumed += 1; /* fieldsEndFlag = 1 */ @@ -29268,6 +29482,14 @@ static uint32_t pack_core(tpAniSirGlobal pCtx, sizeof(tDot11fIEfragment_ie) * i), pBufRemaining, nBufRemaining, &len); break; + case SigIehe_6ghz_band_cap: + status |= + dot11f_pack_ie_he_6ghz_band_cap( + pCtx, (tDot11fIEhe_6ghz_band_cap *) + (pSrc + pIe->offset + + sizeof(tDot11fIEhe_6ghz_band_cap) * i), + pBufRemaining, nBufRemaining, &len); + break; case SigIehe_cap: status |= dot11f_pack_ie_he_cap(