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(