From 25b76df53ce989e9677f9b23caae56f0033f720d Mon Sep 17 00:00:00 2001 From: Naveen Rawat Date: Fri, 8 Sep 2017 15:07:53 -0700 Subject: [PATCH] qcacld-3.0: Update 11AX - HE IE's based on new draft - 1/4 Update HE Capabilities and HE Operation IE as per D1.3 spec. Add new fields included in the new draft version. Change-Id: I00e568c1889b001286abcbf4c653036b3b86ef3f CRs-Fixed: 2092845 --- core/mac/src/cfg/cfgUtil/dot11f.frms | 52 +- core/mac/src/include/dot11f.h | 105 ++-- .../mac/src/sys/legacy/src/utils/src/dot11f.c | 539 +++++++++--------- 3 files changed, 332 insertions(+), 364 deletions(-) diff --git a/core/mac/src/cfg/cfgUtil/dot11f.frms b/core/mac/src/cfg/cfgUtil/dot11f.frms index 7dc3242f293e..a34239a6cd9e 100644 --- a/core/mac/src/cfg/cfgUtil/dot11f.frms +++ b/core/mac/src/cfg/cfgUtil/dot11f.frms @@ -2803,7 +2803,6 @@ IE MeasurementRequest (EID_MEAS_REQUEST) // 7.3.2.21 } const SUB_EID_PPET = 1; -const SUB_EID_VHT_INFO = 2; IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01) { @@ -2836,7 +2835,10 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01) bsrp_ampdu_aggr:1; qtp:1; a_bqr:1; - reserved1:5; + sr_responder:1; + ndp_feedback_supp:1; + ops_supp:1; + reserved1:2; } { dual_band:1; @@ -2844,9 +2846,10 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01) rx_pream_puncturing:4; device_class:1; ldpc_coding:1; - he_ltf_gi_ppdu:2; - he_ltf_gi_ndp:2; - stbc:2; + he_1x_ltf_800_gi_ppdu:1; + reserved:2; + he_4x_ltf_3200_gi_ndp:1; + stbc_lt_80mhz:2; doppler:2; ul_mu:2; dcm_enc_tx:3; @@ -2858,9 +2861,7 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01) su_beamformee:1; mu_beamformer:1; bfee_sts_lt_80:3; - nsts_tol_lt_80:3; - bfee_sta_gt_80:3; - nsts_tot_gt_80:3; + bfee_sts_gt_80:3; num_sounding_lt_80:3; num_sounding_gt_80:3; su_feedback_tone16:1; @@ -2873,9 +2874,12 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01) ppet_present:1; srp:1; power_boost:1; + he_ltf_800_gi_4x:1; + max_nc:3; + stbc_gt_80mhz:2; } { - he_ltf_gi_4x:1; + er_he_ltf_800_gi_4x:1; reserved2:7; } { @@ -2895,13 +2899,6 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01) } } -IE vht_info(SUB_EID_VHT_INFO) -{ - chan_width, 1; - center_freq_seg0, 1; - center_freq_seg1, 1; -} - IE vendor_he_op (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x02) { { @@ -2910,13 +2907,30 @@ IE vendor_he_op (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x02) twt_required: 1; rts_threshold: 10; partial_bss_col: 1; - maxbssid_ind: 8; + vht_oper_present: 1; + reserved1: 6; + mbssid_ap: 1; tx_bssid_ind: 1; bss_col_disabled: 1; - dual_beacon: 1; + reserved2: 1; } basic_mcs_nss[3]; - MANDIE IE vht_info; + OPTIONAL UNION vht_oper (DISCRIMINATOR vht_oper_present) + { + info (vht_oper_present IS 1) + { + chan_width, 1; + center_freq_seg0, 1; + center_freq_seg1, 1; + } + }; + OPTIONAL UNION maxbssid_ind (DISCRIMINATOR mbssid_ap) + { + info (mbssid_ap IS 1) + { + data, 1; + } + }; } IE mu_edca_param_set (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x04) diff --git a/core/mac/src/include/dot11f.h b/core/mac/src/include/dot11f.h index d4a805fdbf46..8651301a5485 100644 --- a/core/mac/src/include/dot11f.h +++ b/core/mac/src/include/dot11f.h @@ -35,7 +35,7 @@ * * * This file was automatically generated by 'framesc' - * Tue Oct 10 16:54:18 2017 from the following file(s): + * Thu Oct 12 13:47:01 2017 from the following file(s): * * dot11f.frms * @@ -4187,47 +4187,6 @@ uint32_t dot11f_get_packed_ie_tgt_mac_addr( }; /* End extern "C". */ #endif /* C++ */ -/* EID 2 (0x02) */ -typedef struct sDot11fIEvht_info { - uint8_t present; - uint8_t chan_width; - uint8_t center_freq_seg0; - uint8_t center_freq_seg1; -} tDot11fIEvht_info; - -#define DOT11F_EID_VHT_INFO (2) - -/* N.B. These #defines do *not* include the EID & length */ -#define DOT11F_IE_VHT_INFO_MIN_LEN (3) - -#define DOT11F_IE_VHT_INFO_MAX_LEN (3) - -#ifdef __cplusplus -extern "C" { -#endif /* C++ */ -uint32_t dot11f_unpack_ie_vht_info( - tpAniSirGlobal, - uint8_t *, - uint32_t, - tDot11fIEvht_info*, - bool); - -uint32_t dot11f_pack_ie_vht_info( - tpAniSirGlobal, - tDot11fIEvht_info *, - uint8_t *, - uint32_t, - uint32_t*); - -uint32_t dot11f_get_packed_ie_vht_info( - tpAniSirGlobal, - tDot11fIEvht_info *, - uint32_t*); - -#ifdef __cplusplus -}; /* End extern "C". */ -#endif /* C++ */ - /* EID 195 (0xc3) */ typedef struct sDot11fIEvht_transmit_power_env { uint8_t present; @@ -8694,7 +8653,7 @@ extern "C" { uint32_t dot11f_unpack_ie_fragment_ie( tpAniSirGlobal, uint8_t *, - uint8_t, + uint32_t, tDot11fIEfragment_ie*, bool); @@ -9024,15 +8983,19 @@ typedef struct sDot11fIEvendor_he_cap { uint8_t bsrp_ampdu_aggr:1; uint8_t qtp:1; uint8_t a_bqr:1; - uint8_t reserved1:5; + uint8_t sr_responder:1; + uint8_t ndp_feedback_supp:1; + uint8_t ops_supp:1; + uint8_t reserved1:2; uint32_t dual_band:1; uint32_t chan_width:7; uint32_t rx_pream_puncturing:4; uint32_t device_class:1; uint32_t ldpc_coding:1; - uint32_t he_ltf_gi_ppdu:2; - uint32_t he_ltf_gi_ndp:2; - uint32_t stbc:2; + uint32_t he_1x_ltf_800_gi_ppdu:1; + uint32_t reserved:2; + uint32_t he_4x_ltf_3200_gi_ndp:1; + uint32_t stbc_lt_80mhz:2; uint32_t doppler:2; uint32_t ul_mu:2; uint32_t dcm_enc_tx:3; @@ -9042,9 +9005,7 @@ typedef struct sDot11fIEvendor_he_cap { uint32_t su_beamformee:1; uint32_t mu_beamformer:1; uint32_t bfee_sts_lt_80:3; - uint32_t nsts_tol_lt_80:3; - uint32_t bfee_sta_gt_80:3; - uint32_t nsts_tot_gt_80:3; + uint32_t bfee_sts_gt_80:3; uint32_t num_sounding_lt_80:3; uint32_t num_sounding_gt_80:3; uint32_t su_feedback_tone16:1; @@ -9057,7 +9018,10 @@ typedef struct sDot11fIEvendor_he_cap { uint32_t ppet_present:1; uint32_t srp:1; uint32_t power_boost:1; - uint8_t he_ltf_gi_4x:1; + uint32_t he_ltf_800_gi_4x:1; + uint32_t max_nc:3; + uint32_t stbc_gt_80mhz:2; + uint8_t er_he_ltf_800_gi_4x:1; uint8_t reserved2:7; uint16_t nss_supported:3; uint16_t mcs_supported:3; @@ -9101,18 +9065,31 @@ uint32_t dot11f_get_packed_ie_vendor_he_cap( /* EID 221 (0xdd) {OUI 0x00, 0x13, 0x74, 0x02} */ typedef struct sDot11fIEvendor_he_op { - uint8_t present; - uint32_t bss_color:6; - uint32_t default_pe:3; - uint32_t twt_required:1; - uint32_t rts_threshold:10; - uint32_t partial_bss_col:1; - uint32_t maxbssid_ind:8; - uint32_t tx_bssid_ind:1; - uint32_t bss_col_disabled:1; - uint32_t dual_beacon:1; - uint8_t basic_mcs_nss[3]; - tDot11fIEvht_info vht_info; + uint8_t present; + uint32_t bss_color:6; + uint32_t default_pe:3; + uint32_t twt_required:1; + uint32_t rts_threshold:10; + uint32_t partial_bss_col:1; + uint32_t vht_oper_present:1; + uint32_t reserved1:6; + uint32_t mbssid_ap:1; + uint32_t tx_bssid_ind:1; + uint32_t bss_col_disabled:1; + uint32_t reserved2:1; + uint8_t basic_mcs_nss[3]; + union { + struct { + uint8_t chan_width; + uint8_t center_freq_seg0; + uint8_t center_freq_seg1; + } info; /* vht_oper_present = 1 */ + } vht_oper; + union { + struct { + uint8_t data; + } info; /* mbssid_ap = 1 */ + } maxbssid_ind; } tDot11fIEvendor_he_op; #define DOT11F_EID_VENDOR_HE_OP (221) @@ -9120,7 +9097,7 @@ typedef struct sDot11fIEvendor_he_op { /* N.B. These #defines do *not* include the EID & length */ #define DOT11F_IE_VENDOR_HE_OP_MIN_LEN (11) -#define DOT11F_IE_VENDOR_HE_OP_MAX_LEN (16) +#define DOT11F_IE_VENDOR_HE_OP_MAX_LEN (15) #ifdef __cplusplus extern "C" { 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 30e6ff5f9a87..9d68559d19b6 100644 --- a/core/mac/src/sys/legacy/src/utils/src/dot11f.c +++ b/core/mac/src/sys/legacy/src/utils/src/dot11f.c @@ -33,7 +33,7 @@ * * * This file was automatically generated by 'framesc' - * Tue Oct 10 16:54:18 2017 from the following file(s): + * Thu Oct 12 13:47:01 2017 from the following file(s): * * dot11f.frms * @@ -2789,31 +2789,6 @@ uint32_t dot11f_unpack_ie_tgt_mac_addr(tpAniSirGlobal pCtx, #define SigIetgt_mac_addr (0x0024) -uint32_t dot11f_unpack_ie_vht_info(tpAniSirGlobal pCtx, - uint8_t *pBuf, - uint32_t ielen, - tDot11fIEvht_info *pDst, - bool append_ie) -{ - uint32_t status = DOT11F_PARSE_SUCCESS; - (void) pBuf; (void)ielen; /* Shutup the compiler */ - if (pDst->present) - status = DOT11F_DUPLICATE_IE; - pDst->present = 1; - pDst->chan_width = *pBuf; - pBuf += 1; - ielen -= (uint8_t)1; - pDst->center_freq_seg0 = *pBuf; - pBuf += 1; - ielen -= (uint8_t)1; - pDst->center_freq_seg1 = *pBuf; - (void)pCtx; - return status; -} /* End dot11f_unpack_ie_vht_info. */ - -#define SigIevht_info (0x0025) - - uint32_t dot11f_unpack_ie_vht_transmit_power_env(tpAniSirGlobal pCtx, uint8_t *pBuf, uint32_t ielen, @@ -2836,7 +2811,7 @@ uint32_t dot11f_unpack_ie_vht_transmit_power_env(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vht_transmit_power_env. */ -#define SigIevht_transmit_power_env (0x0026) +#define SigIevht_transmit_power_env (0x0025) uint32_t dot11f_unpack_ie_aid(tpAniSirGlobal pCtx, @@ -2855,7 +2830,7 @@ uint32_t dot11f_unpack_ie_aid(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_aid. */ -#define SigIeAID (0x0027) +#define SigIeAID (0x0026) uint32_t dot11f_unpack_ie_cf_params(tpAniSirGlobal pCtx, @@ -2883,7 +2858,7 @@ uint32_t dot11f_unpack_ie_cf_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_cf_params. */ -#define SigIeCFParams (0x0028) +#define SigIeCFParams (0x0027) uint32_t dot11f_unpack_ie_challenge_text(tpAniSirGlobal pCtx, @@ -2908,7 +2883,7 @@ uint32_t dot11f_unpack_ie_challenge_text(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_challenge_text. */ -#define SigIeChallengeText (0x0029) +#define SigIeChallengeText (0x0028) uint32_t dot11f_unpack_ie_chan_switch_ann(tpAniSirGlobal pCtx, @@ -2933,7 +2908,7 @@ uint32_t dot11f_unpack_ie_chan_switch_ann(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_chan_switch_ann. */ -#define SigIeChanSwitchAnn (0x002a) +#define SigIeChanSwitchAnn (0x0029) static const tFFDefn FFS_ChannelSwitchWrapper[] = { @@ -2975,7 +2950,7 @@ uint32_t dot11f_unpack_ie_channel_switch_wrapper(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_channel_switch_wrapper. */ -#define SigIeChannelSwitchWrapper (0x002b) +#define SigIeChannelSwitchWrapper (0x002a) uint32_t dot11f_unpack_ie_country(tpAniSirGlobal pCtx, @@ -3008,10 +2983,10 @@ uint32_t dot11f_unpack_ie_country(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_country. */ -#define SigIeCountry (0x002c) +#define SigIeCountry (0x002b) -#define SigIeDSParams (0x002d) +#define SigIeDSParams (0x002c) uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, @@ -3101,7 +3076,7 @@ uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_edca_param_set. */ -#define SigIeEDCAParamSet (0x002e) +#define SigIeEDCAParamSet (0x002d) uint32_t dot11f_unpack_ie_erp_info(tpAniSirGlobal pCtx, @@ -3125,7 +3100,7 @@ uint32_t dot11f_unpack_ie_erp_info(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_erp_info. */ -#define SigIeERPInfo (0x002f) +#define SigIeERPInfo (0x002e) uint32_t dot11f_unpack_ie_ese_cckm_opaque(tpAniSirGlobal pCtx, @@ -3150,7 +3125,7 @@ uint32_t dot11f_unpack_ie_ese_cckm_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_cckm_opaque. */ -#define SigIeESECckmOpaque (0x0030) +#define SigIeESECckmOpaque (0x002f) uint32_t dot11f_unpack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, @@ -3175,7 +3150,7 @@ uint32_t dot11f_unpack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_rad_mgmt_cap. */ -#define SigIeESERadMgmtCap (0x0031) +#define SigIeESERadMgmtCap (0x0030) uint32_t dot11f_unpack_ie_ese_traf_strm_met(tpAniSirGlobal pCtx, @@ -3200,7 +3175,7 @@ uint32_t dot11f_unpack_ie_ese_traf_strm_met(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_traf_strm_met. */ -#define SigIeESETrafStrmMet (0x0032) +#define SigIeESETrafStrmMet (0x0031) uint32_t dot11f_unpack_ie_ese_traf_strm_rate_set(tpAniSirGlobal pCtx, @@ -3228,7 +3203,7 @@ uint32_t dot11f_unpack_ie_ese_traf_strm_rate_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_traf_strm_rate_set. */ -#define SigIeESETrafStrmRateSet (0x0033) +#define SigIeESETrafStrmRateSet (0x0032) uint32_t dot11f_unpack_ie_ese_txmit_power(tpAniSirGlobal pCtx, @@ -3250,7 +3225,7 @@ uint32_t dot11f_unpack_ie_ese_txmit_power(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_txmit_power. */ -#define SigIeESETxmitPower (0x0034) +#define SigIeESETxmitPower (0x0033) uint32_t dot11f_unpack_ie_ese_version(tpAniSirGlobal pCtx, @@ -3269,7 +3244,7 @@ uint32_t dot11f_unpack_ie_ese_version(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_version. */ -#define SigIeESEVersion (0x0035) +#define SigIeESEVersion (0x0034) uint32_t dot11f_unpack_ie_ext_cap(tpAniSirGlobal pCtx, @@ -3299,7 +3274,7 @@ endUnpackIeExtCap: return status; } /* End dot11f_unpack_ie_ext_cap. */ -#define SigIeExtCap (0x0036) +#define SigIeExtCap (0x0035) uint32_t dot11f_unpack_ie_ext_supp_rates(tpAniSirGlobal pCtx, @@ -3332,7 +3307,7 @@ uint32_t dot11f_unpack_ie_ext_supp_rates(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ext_supp_rates. */ -#define SigIeExtSuppRates (0x0037) +#define SigIeExtSuppRates (0x0036) uint32_t dot11f_unpack_ie_fh_param_set(tpAniSirGlobal pCtx, @@ -3360,7 +3335,7 @@ uint32_t dot11f_unpack_ie_fh_param_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fh_param_set. */ -#define SigIeFHParamSet (0x0038) +#define SigIeFHParamSet (0x0037) uint32_t dot11f_unpack_ie_fh_params(tpAniSirGlobal pCtx, @@ -3382,7 +3357,7 @@ uint32_t dot11f_unpack_ie_fh_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fh_params. */ -#define SigIeFHParams (0x0039) +#define SigIeFHParams (0x0038) uint32_t dot11f_unpack_ie_fh_patt_table(tpAniSirGlobal pCtx, @@ -3419,7 +3394,7 @@ uint32_t dot11f_unpack_ie_fh_patt_table(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fh_patt_table. */ -#define SigIeFHPattTable (0x003a) +#define SigIeFHPattTable (0x0039) static const tFFDefn FFS_FTInfo[] = { @@ -3479,7 +3454,7 @@ uint32_t dot11f_unpack_ie_ft_info(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ft_info. */ -#define SigIeFTInfo (0x003b) +#define SigIeFTInfo (0x003a) uint32_t dot11f_unpack_ie_ht_caps(tpAniSirGlobal pCtx, @@ -3573,7 +3548,7 @@ uint32_t dot11f_unpack_ie_ht_caps(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ht_caps. */ -#define SigIeHTCaps (0x003c) +#define SigIeHTCaps (0x003b) uint32_t dot11f_unpack_ie_ht_info(tpAniSirGlobal pCtx, @@ -3633,7 +3608,7 @@ uint32_t dot11f_unpack_ie_ht_info(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ht_info. */ -#define SigIeHTInfo (0x003d) +#define SigIeHTInfo (0x003c) uint32_t dot11f_unpack_ie_ibss_params(tpAniSirGlobal pCtx, @@ -3652,7 +3627,7 @@ uint32_t dot11f_unpack_ie_ibss_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ibss_params. */ -#define SigIeIBSSParams (0x003e) +#define SigIeIBSSParams (0x003d) uint32_t dot11f_unpack_ie_link_identifier(tpAniSirGlobal pCtx, @@ -3677,7 +3652,7 @@ uint32_t dot11f_unpack_ie_link_identifier(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_link_identifier. */ -#define SigIeLinkIdentifier (0x003f) +#define SigIeLinkIdentifier (0x003e) static const tTLVDefn TLVS_MBO_IE[] = { @@ -3740,7 +3715,7 @@ uint32_t dot11f_unpack_ie_MBO_IE(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_MBO_IE. */ -#define SigIeMBO_IE (0x0040) +#define SigIeMBO_IE (0x003f) static const tFFDefn FFS_reportBeacon[] = { @@ -3903,7 +3878,7 @@ uint32_t dot11f_unpack_ie_measurement_report(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_measurement_report. */ -#define SigIeMeasurementReport (0x0041) +#define SigIeMeasurementReport (0x0040) static const tFFDefn FFS_measurement_requestBeacon[] = { @@ -4096,7 +4071,7 @@ uint32_t dot11f_unpack_ie_measurement_request(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_measurement_request. */ -#define SigIeMeasurementRequest (0x0042) +#define SigIeMeasurementRequest (0x0041) uint32_t dot11f_unpack_ie_mobility_domain(tpAniSirGlobal pCtx, @@ -4122,7 +4097,7 @@ uint32_t dot11f_unpack_ie_mobility_domain(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_mobility_domain. */ -#define SigIeMobilityDomain (0x0043) +#define SigIeMobilityDomain (0x0042) static const tFFDefn FFS_NeighborReport[] = { @@ -4209,7 +4184,7 @@ uint32_t dot11f_unpack_ie_neighbor_report(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_neighbor_report. */ -#define SigIeNeighborReport (0x0044) +#define SigIeNeighborReport (0x0043) uint32_t dot11f_unpack_ie_obss_scan_parameters(tpAniSirGlobal pCtx, @@ -4246,7 +4221,7 @@ uint32_t dot11f_unpack_ie_obss_scan_parameters(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_obss_scan_parameters. */ -#define SigIeOBSSScanParameters (0x0045) +#define SigIeOBSSScanParameters (0x0044) uint32_t dot11f_unpack_ie_operating_mode(tpAniSirGlobal pCtx, @@ -4270,7 +4245,7 @@ uint32_t dot11f_unpack_ie_operating_mode(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_operating_mode. */ -#define SigIeOperatingMode (0x0046) +#define SigIeOperatingMode (0x0045) static const tTLVDefn TLVS_P2PAssocReq[] = { @@ -4302,7 +4277,7 @@ uint32_t dot11f_unpack_ie_p2_p_assoc_req(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_assoc_req. */ -#define SigIeP2PAssocReq (0x0047) +#define SigIeP2PAssocReq (0x0046) static const tTLVDefn TLVS_P2PAssocRes[] = { @@ -4331,7 +4306,7 @@ uint32_t dot11f_unpack_ie_p2_p_assoc_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_assoc_res. */ -#define SigIeP2PAssocRes (0x0048) +#define SigIeP2PAssocRes (0x0047) static const tTLVDefn TLVS_P2PBeacon[] = { @@ -4363,7 +4338,7 @@ uint32_t dot11f_unpack_ie_p2_p_beacon(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_beacon. */ -#define SigIeP2PBeacon (0x0049) +#define SigIeP2PBeacon (0x0048) static const tTLVDefn TLVS_P2PBeaconProbeRes[] = { @@ -4405,7 +4380,7 @@ uint32_t dot11f_unpack_ie_p2_p_beacon_probe_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_beacon_probe_res. */ -#define SigIeP2PBeaconProbeRes (0x004a) +#define SigIeP2PBeaconProbeRes (0x0049) static const tTLVDefn TLVS_P2PDeAuth[] = { @@ -4431,7 +4406,7 @@ uint32_t dot11f_unpack_ie_p2_p_de_auth(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_de_auth. */ -#define SigIeP2PDeAuth (0x004b) +#define SigIeP2PDeAuth (0x004a) static const tTLVDefn TLVS_P2PDisAssoc[] = { @@ -4457,7 +4432,7 @@ uint32_t dot11f_unpack_ie_p2_p_dis_assoc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_dis_assoc. */ -#define SigIeP2PDisAssoc (0x004c) +#define SigIeP2PDisAssoc (0x004b) uint32_t dot11f_unpack_ie_p2_pie_opaque(tpAniSirGlobal pCtx, @@ -4482,7 +4457,7 @@ uint32_t dot11f_unpack_ie_p2_pie_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_pie_opaque. */ -#define SigIeP2PIEOpaque (0x004d) +#define SigIeP2PIEOpaque (0x004c) static const tTLVDefn TLVS_P2PProbeReq[] = { @@ -4521,7 +4496,7 @@ uint32_t dot11f_unpack_ie_p2_p_probe_req(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_probe_req. */ -#define SigIeP2PProbeReq (0x004e) +#define SigIeP2PProbeReq (0x004d) static const tTLVDefn TLVS_P2PProbeRes[] = { @@ -4560,7 +4535,7 @@ uint32_t dot11f_unpack_ie_p2_p_probe_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_probe_res. */ -#define SigIeP2PProbeRes (0x004f) +#define SigIeP2PProbeRes (0x004e) uint32_t dot11f_unpack_ie_pti_control(tpAniSirGlobal pCtx, @@ -4582,7 +4557,7 @@ uint32_t dot11f_unpack_ie_pti_control(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_pti_control. */ -#define SigIePTIControl (0x0050) +#define SigIePTIControl (0x004f) uint32_t dot11f_unpack_ie_pu_buffer_status(tpAniSirGlobal pCtx, @@ -4607,7 +4582,7 @@ uint32_t dot11f_unpack_ie_pu_buffer_status(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_pu_buffer_status. */ -#define SigIePUBufferStatus (0x0051) +#define SigIePUBufferStatus (0x0050) uint32_t dot11f_unpack_ie_power_caps(tpAniSirGlobal pCtx, @@ -4629,7 +4604,7 @@ uint32_t dot11f_unpack_ie_power_caps(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_power_caps. */ -#define SigIePowerCaps (0x0052) +#define SigIePowerCaps (0x0051) uint32_t dot11f_unpack_ie_power_constraints(tpAniSirGlobal pCtx, @@ -4648,7 +4623,7 @@ uint32_t dot11f_unpack_ie_power_constraints(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_power_constraints. */ -#define SigIePowerConstraints (0x0053) +#define SigIePowerConstraints (0x0052) uint32_t dot11f_unpack_ie_qbss_load(tpAniSirGlobal pCtx, @@ -4673,7 +4648,7 @@ uint32_t dot11f_unpack_ie_qbss_load(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qbss_load. */ -#define SigIeQBSSLoad (0x0054) +#define SigIeQBSSLoad (0x0053) uint32_t dot11f_unpack_ie_QCN_IE(tpAniSirGlobal pCtx, @@ -4692,7 +4667,7 @@ uint32_t dot11f_unpack_ie_QCN_IE(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_QCN_IE. */ -#define SigIeQCN_IE (0x0055) +#define SigIeQCN_IE (0x0054) uint32_t dot11f_unpack_ie_QComVendorIE(tpAniSirGlobal pCtx, @@ -4714,7 +4689,7 @@ uint32_t dot11f_unpack_ie_QComVendorIE(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_QComVendorIE. */ -#define SigIeQComVendorIE (0x0056) +#define SigIeQComVendorIE (0x0055) uint32_t dot11f_unpack_ie_qos_caps_ap(tpAniSirGlobal pCtx, @@ -4739,7 +4714,7 @@ uint32_t dot11f_unpack_ie_qos_caps_ap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qos_caps_ap. */ -#define SigIeQOSCapsAp (0x0057) +#define SigIeQOSCapsAp (0x0056) uint32_t dot11f_unpack_ie_qos_caps_station(tpAniSirGlobal pCtx, @@ -4766,7 +4741,7 @@ uint32_t dot11f_unpack_ie_qos_caps_station(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qos_caps_station. */ -#define SigIeQOSCapsStation (0x0058) +#define SigIeQOSCapsStation (0x0057) uint32_t dot11f_unpack_ie_qos_map_set(tpAniSirGlobal pCtx, @@ -4791,7 +4766,7 @@ uint32_t dot11f_unpack_ie_qos_map_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qos_map_set. */ -#define SigIeQosMapSet (0x0059) +#define SigIeQosMapSet (0x0058) uint32_t dot11f_unpack_ie_quiet(tpAniSirGlobal pCtx, @@ -4819,7 +4794,7 @@ uint32_t dot11f_unpack_ie_quiet(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_quiet. */ -#define SigIeQuiet (0x005a) +#define SigIeQuiet (0x0059) uint32_t dot11f_unpack_ie_rcpiie(tpAniSirGlobal pCtx, @@ -4838,7 +4813,7 @@ uint32_t dot11f_unpack_ie_rcpiie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rcpiie. */ -#define SigIeRCPIIE (0x005b) +#define SigIeRCPIIE (0x005a) static const tFFDefn FFS_RICDataDesc[] = { @@ -4914,7 +4889,7 @@ uint32_t dot11f_unpack_ie_ric_data_desc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ric_data_desc. */ -#define SigIeRICDataDesc (0x005c) +#define SigIeRICDataDesc (0x005b) uint32_t dot11f_unpack_ie_rsn(tpAniSirGlobal pCtx, @@ -5006,7 +4981,7 @@ uint32_t dot11f_unpack_ie_rsn(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rsn. */ -#define SigIeRSN (0x005d) +#define SigIeRSN (0x005c) uint32_t dot11f_unpack_ie_rsniie(tpAniSirGlobal pCtx, @@ -5025,7 +5000,7 @@ uint32_t dot11f_unpack_ie_rsniie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rsniie. */ -#define SigIeRSNIIE (0x005e) +#define SigIeRSNIIE (0x005d) uint32_t dot11f_unpack_ie_rsn_opaque(tpAniSirGlobal pCtx, @@ -5050,7 +5025,7 @@ uint32_t dot11f_unpack_ie_rsn_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rsn_opaque. */ -#define SigIeRSNOpaque (0x005f) +#define SigIeRSNOpaque (0x005e) uint32_t dot11f_unpack_ie_supp_channels(tpAniSirGlobal pCtx, @@ -5075,7 +5050,7 @@ uint32_t dot11f_unpack_ie_supp_channels(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_supp_channels. */ -#define SigIeSuppChannels (0x0060) +#define SigIeSuppChannels (0x005f) uint32_t dot11f_unpack_ie_supp_operating_classes(tpAniSirGlobal pCtx, @@ -5100,7 +5075,7 @@ uint32_t dot11f_unpack_ie_supp_operating_classes(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_supp_operating_classes. */ -#define SigIeSuppOperatingClasses (0x0061) +#define SigIeSuppOperatingClasses (0x0060) uint32_t dot11f_unpack_ie_supp_rates(tpAniSirGlobal pCtx, @@ -5133,7 +5108,7 @@ uint32_t dot11f_unpack_ie_supp_rates(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_supp_rates. */ -#define SigIeSuppRates (0x0062) +#define SigIeSuppRates (0x0061) uint32_t dot11f_unpack_ie_tim(tpAniSirGlobal pCtx, @@ -5167,7 +5142,7 @@ uint32_t dot11f_unpack_ie_tim(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tim. */ -#define SigIeTIM (0x0063) +#define SigIeTIM (0x0062) uint32_t dot11f_unpack_ie_tpc_report(tpAniSirGlobal pCtx, @@ -5189,7 +5164,7 @@ uint32_t dot11f_unpack_ie_tpc_report(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tpc_report. */ -#define SigIeTPCReport (0x0064) +#define SigIeTPCReport (0x0063) uint32_t dot11f_unpack_ie_tpc_request(tpAniSirGlobal pCtx, @@ -5207,7 +5182,7 @@ uint32_t dot11f_unpack_ie_tpc_request(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tpc_request. */ -#define SigIeTPCRequest (0x0065) +#define SigIeTPCRequest (0x0064) uint32_t dot11f_unpack_ie_time_advertisement(tpAniSirGlobal pCtx, @@ -5232,7 +5207,7 @@ uint32_t dot11f_unpack_ie_time_advertisement(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_time_advertisement. */ -#define SigIeTimeAdvertisement (0x0066) +#define SigIeTimeAdvertisement (0x0065) uint32_t dot11f_unpack_ie_timeout_interval(tpAniSirGlobal pCtx, @@ -5254,7 +5229,7 @@ uint32_t dot11f_unpack_ie_timeout_interval(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_timeout_interval. */ -#define SigIeTimeoutInterval (0x0067) +#define SigIeTimeoutInterval (0x0066) uint32_t dot11f_unpack_ie_vht_ext_bss_load(tpAniSirGlobal pCtx, @@ -5285,7 +5260,7 @@ uint32_t dot11f_unpack_ie_vht_ext_bss_load(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vht_ext_bss_load. */ -#define SigIeVHTExtBssLoad (0x0068) +#define SigIeVHTExtBssLoad (0x0067) uint32_t dot11f_unpack_ie_vendor1_ie(tpAniSirGlobal pCtx, @@ -5303,7 +5278,7 @@ uint32_t dot11f_unpack_ie_vendor1_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor1_ie. */ -#define SigIeVendor1IE (0x0069) +#define SigIeVendor1IE (0x0068) uint32_t dot11f_unpack_ie_vendor3_ie(tpAniSirGlobal pCtx, @@ -5321,7 +5296,7 @@ uint32_t dot11f_unpack_ie_vendor3_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor3_ie. */ -#define SigIeVendor3IE (0x006a) +#define SigIeVendor3IE (0x0069) uint32_t dot11f_unpack_ie_wapi(tpAniSirGlobal pCtx, @@ -5391,7 +5366,7 @@ uint32_t dot11f_unpack_ie_wapi(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wapi. */ -#define SigIeWAPI (0x006b) +#define SigIeWAPI (0x006a) uint32_t dot11f_unpack_ie_wapi_opaque(tpAniSirGlobal pCtx, @@ -5416,7 +5391,7 @@ uint32_t dot11f_unpack_ie_wapi_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wapi_opaque. */ -#define SigIeWAPIOpaque (0x006c) +#define SigIeWAPIOpaque (0x006b) uint32_t dot11f_unpack_ie_wfatpc(tpAniSirGlobal pCtx, @@ -5438,7 +5413,7 @@ uint32_t dot11f_unpack_ie_wfatpc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wfatpc. */ -#define SigIeWFATPC (0x006d) +#define SigIeWFATPC (0x006c) uint32_t dot11f_unpack_ie_wfdie_opaque(tpAniSirGlobal pCtx, @@ -5463,7 +5438,7 @@ uint32_t dot11f_unpack_ie_wfdie_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wfdie_opaque. */ -#define SigIeWFDIEOpaque (0x006e) +#define SigIeWFDIEOpaque (0x006d) uint32_t dot11f_unpack_ie_wmm_caps(tpAniSirGlobal pCtx, @@ -5495,7 +5470,7 @@ uint32_t dot11f_unpack_ie_wmm_caps(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wmm_caps. */ -#define SigIeWMMCaps (0x006f) +#define SigIeWMMCaps (0x006e) uint32_t dot11f_unpack_ie_wmm_info_ap(tpAniSirGlobal pCtx, @@ -5521,7 +5496,7 @@ uint32_t dot11f_unpack_ie_wmm_info_ap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wmm_info_ap. */ -#define SigIeWMMInfoAp (0x0070) +#define SigIeWMMInfoAp (0x006f) uint32_t dot11f_unpack_ie_wmm_info_station(tpAniSirGlobal pCtx, @@ -5551,7 +5526,7 @@ uint32_t dot11f_unpack_ie_wmm_info_station(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wmm_info_station. */ -#define SigIeWMMInfoStation (0x0071) +#define SigIeWMMInfoStation (0x0070) uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, @@ -5648,7 +5623,7 @@ uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wmm_params. */ -#define SigIeWMMParams (0x0072) +#define SigIeWMMParams (0x0071) uint32_t dot11f_unpack_ie_wpa(tpAniSirGlobal pCtx, @@ -5722,7 +5697,7 @@ uint32_t dot11f_unpack_ie_wpa(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wpa. */ -#define SigIeWPA (0x0073) +#define SigIeWPA (0x0072) uint32_t dot11f_unpack_ie_wpa_opaque(tpAniSirGlobal pCtx, @@ -5747,7 +5722,7 @@ uint32_t dot11f_unpack_ie_wpa_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wpa_opaque. */ -#define SigIeWPAOpaque (0x0074) +#define SigIeWPAOpaque (0x0073) static const tTLVDefn TLVS_WSC[] = { @@ -5838,7 +5813,7 @@ uint32_t dot11f_unpack_ie_wsc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc. */ -#define SigIeWSC (0x0075) +#define SigIeWSC (0x0074) static const tTLVDefn TLVS_WscAssocReq[] = { @@ -5870,7 +5845,7 @@ uint32_t dot11f_unpack_ie_wsc_assoc_req(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_assoc_req. */ -#define SigIeWscAssocReq (0x0076) +#define SigIeWscAssocReq (0x0075) static const tTLVDefn TLVS_WscAssocRes[] = { @@ -5902,7 +5877,7 @@ uint32_t dot11f_unpack_ie_wsc_assoc_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_assoc_res. */ -#define SigIeWscAssocRes (0x0077) +#define SigIeWscAssocRes (0x0076) static const tTLVDefn TLVS_WscBeacon[] = { @@ -5955,7 +5930,7 @@ uint32_t dot11f_unpack_ie_wsc_beacon(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_beacon. */ -#define SigIeWscBeacon (0x0078) +#define SigIeWscBeacon (0x0077) static const tTLVDefn TLVS_WscBeaconProbeRes[] = { @@ -6033,7 +6008,7 @@ uint32_t dot11f_unpack_ie_wsc_beacon_probe_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_beacon_probe_res. */ -#define SigIeWscBeaconProbeRes (0x0079) +#define SigIeWscBeaconProbeRes (0x0078) uint32_t dot11f_unpack_ie_wsc_ie_opaque(tpAniSirGlobal pCtx, @@ -6058,7 +6033,7 @@ uint32_t dot11f_unpack_ie_wsc_ie_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_ie_opaque. */ -#define SigIeWscIEOpaque (0x007a) +#define SigIeWscIEOpaque (0x0079) static const tTLVDefn TLVS_WscProbeReq[] = { @@ -6131,7 +6106,7 @@ uint32_t dot11f_unpack_ie_wsc_probe_req(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_probe_req. */ -#define SigIeWscProbeReq (0x007b) +#define SigIeWscProbeReq (0x007a) static const tTLVDefn TLVS_WscProbeRes[] = { @@ -6209,7 +6184,7 @@ uint32_t dot11f_unpack_ie_wsc_probe_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_probe_res. */ -#define SigIeWscProbeRes (0x007c) +#define SigIeWscProbeRes (0x007b) static const tTLVDefn TLVS_WscReassocRes[] = { @@ -6241,7 +6216,7 @@ uint32_t dot11f_unpack_ie_wsc_reassoc_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_reassoc_res. */ -#define SigIeWscReassocRes (0x007d) +#define SigIeWscReassocRes (0x007c) uint32_t dot11f_unpack_ie_bss_color_change(tpAniSirGlobal pCtx, @@ -6266,7 +6241,7 @@ uint32_t dot11f_unpack_ie_bss_color_change(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_bss_color_change. */ -#define SigIebss_color_change (0x007e) +#define SigIebss_color_change (0x007d) uint32_t dot11f_unpack_ie_esp_information(tpAniSirGlobal pCtx, @@ -6291,7 +6266,7 @@ uint32_t dot11f_unpack_ie_esp_information(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_esp_information. */ -#define SigIeesp_information (0x007f) +#define SigIeesp_information (0x007e) uint32_t dot11f_unpack_ie_ext_chan_switch_ann(tpAniSirGlobal pCtx, @@ -6319,7 +6294,7 @@ uint32_t dot11f_unpack_ie_ext_chan_switch_ann(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ext_chan_switch_ann. */ -#define SigIeext_chan_switch_ann (0x0080) +#define SigIeext_chan_switch_ann (0x007f) uint32_t dot11f_unpack_ie_fils_assoc_delay_info(tpAniSirGlobal pCtx, @@ -6338,7 +6313,7 @@ uint32_t dot11f_unpack_ie_fils_assoc_delay_info(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_assoc_delay_info. */ -#define SigIefils_assoc_delay_info (0x0081) +#define SigIefils_assoc_delay_info (0x0080) uint32_t dot11f_unpack_ie_fils_hlp_container(tpAniSirGlobal pCtx, @@ -6364,7 +6339,7 @@ uint32_t dot11f_unpack_ie_fils_hlp_container(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_hlp_container. */ -#define SigIefils_hlp_container (0x0082) +#define SigIefils_hlp_container (0x0081) uint32_t dot11f_unpack_ie_fils_indication(tpAniSirGlobal pCtx, @@ -6397,7 +6372,7 @@ uint32_t dot11f_unpack_ie_fils_indication(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_indication. */ -#define SigIefils_indication (0x0083) +#define SigIefils_indication (0x0082) uint32_t dot11f_unpack_ie_fils_kde(tpAniSirGlobal pCtx, @@ -6420,7 +6395,7 @@ uint32_t dot11f_unpack_ie_fils_kde(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_kde. */ -#define SigIefils_kde (0x0084) +#define SigIefils_kde (0x0083) uint32_t dot11f_unpack_ie_fils_key_confirmation(tpAniSirGlobal pCtx, @@ -6440,7 +6415,7 @@ uint32_t dot11f_unpack_ie_fils_key_confirmation(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_key_confirmation. */ -#define SigIefils_key_confirmation (0x0085) +#define SigIefils_key_confirmation (0x0084) uint32_t dot11f_unpack_ie_fils_nonce(tpAniSirGlobal pCtx, @@ -6459,7 +6434,7 @@ uint32_t dot11f_unpack_ie_fils_nonce(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_nonce. */ -#define SigIefils_nonce (0x0086) +#define SigIefils_nonce (0x0085) uint32_t dot11f_unpack_ie_fils_public_key(tpAniSirGlobal pCtx, @@ -6482,7 +6457,7 @@ uint32_t dot11f_unpack_ie_fils_public_key(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_public_key. */ -#define SigIefils_public_key (0x0087) +#define SigIefils_public_key (0x0086) uint32_t dot11f_unpack_ie_fils_session(tpAniSirGlobal pCtx, @@ -6501,7 +6476,7 @@ uint32_t dot11f_unpack_ie_fils_session(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_session. */ -#define SigIefils_session (0x0088) +#define SigIefils_session (0x0087) uint32_t dot11f_unpack_ie_fils_wrapped_data(tpAniSirGlobal pCtx, @@ -6521,12 +6496,12 @@ uint32_t dot11f_unpack_ie_fils_wrapped_data(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_wrapped_data. */ -#define SigIefils_wrapped_data (0x0089) +#define SigIefils_wrapped_data (0x0088) uint32_t dot11f_unpack_ie_fragment_ie(tpAniSirGlobal pCtx, uint8_t *pBuf, - uint8_t ielen, + uint32_t ielen, tDot11fIEfragment_ie *pDst, bool append_ie) { @@ -6541,7 +6516,7 @@ uint32_t dot11f_unpack_ie_fragment_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fragment_ie. */ -#define SigIefragment_ie (0x008a) +#define SigIefragment_ie (0x0089) uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, @@ -6583,7 +6558,7 @@ uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_hs20vendor_ie. */ -#define SigIehs20vendor_ie (0x008b) +#define SigIehs20vendor_ie (0x008a) uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, @@ -6609,7 +6584,7 @@ uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ht2040_bss_coexistence. */ -#define SigIeht2040_bss_coexistence (0x008c) +#define SigIeht2040_bss_coexistence (0x008b) uint32_t dot11f_unpack_ie_ht2040_bss_intolerant_report(tpAniSirGlobal pCtx, @@ -6637,7 +6612,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 (0x008d) +#define SigIeht2040_bss_intolerant_report (0x008c) uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, @@ -6724,7 +6699,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 (0x008e) +#define SigIemu_edca_param_set (0x008d) uint32_t dot11f_unpack_ie_osen_ie(tpAniSirGlobal pCtx, @@ -6744,7 +6719,7 @@ uint32_t dot11f_unpack_ie_osen_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_osen_ie. */ -#define SigIeosen_ie (0x008f) +#define SigIeosen_ie (0x008e) uint32_t dot11f_unpack_ie_sec_chan_offset_ele(tpAniSirGlobal pCtx, @@ -6763,7 +6738,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 (0x0090) +#define SigIesec_chan_offset_ele (0x008f) static const tFFDefn FFS_vendor_he_cap[] = { @@ -6827,7 +6802,10 @@ uint32_t dot11f_unpack_ie_vendor_he_cap(tpAniSirGlobal pCtx, pDst->bsrp_ampdu_aggr = tmp87__ >> 0 & 0x1; pDst->qtp = tmp87__ >> 1 & 0x1; pDst->a_bqr = tmp87__ >> 2 & 0x1; - pDst->reserved1 = tmp87__ >> 3 & 0x1f; + pDst->sr_responder = tmp87__ >> 3 & 0x1; + pDst->ndp_feedback_supp = tmp87__ >> 4 & 0x1; + pDst->ops_supp = tmp87__ >> 5 & 0x1; + pDst->reserved1 = tmp87__ >> 6 & 0x3; framesntohl(pCtx, &tmp88__, pBuf, 0); pBuf += 4; ielen -= 4; @@ -6836,9 +6814,10 @@ uint32_t dot11f_unpack_ie_vendor_he_cap(tpAniSirGlobal pCtx, pDst->rx_pream_puncturing = tmp88__ >> 8 & 0xf; pDst->device_class = tmp88__ >> 12 & 0x1; pDst->ldpc_coding = tmp88__ >> 13 & 0x1; - pDst->he_ltf_gi_ppdu = tmp88__ >> 14 & 0x3; - pDst->he_ltf_gi_ndp = tmp88__ >> 16 & 0x3; - pDst->stbc = tmp88__ >> 18 & 0x3; + pDst->he_1x_ltf_800_gi_ppdu = tmp88__ >> 14 & 0x1; + pDst->reserved = tmp88__ >> 15 & 0x3; + pDst->he_4x_ltf_3200_gi_ndp = tmp88__ >> 17 & 0x1; + pDst->stbc_lt_80mhz = tmp88__ >> 18 & 0x3; pDst->doppler = tmp88__ >> 20 & 0x3; pDst->ul_mu = tmp88__ >> 22 & 0x3; pDst->dcm_enc_tx = tmp88__ >> 24 & 0x7; @@ -6851,25 +6830,26 @@ uint32_t dot11f_unpack_ie_vendor_he_cap(tpAniSirGlobal pCtx, pDst->su_beamformee = tmp89__ >> 0 & 0x1; pDst->mu_beamformer = tmp89__ >> 1 & 0x1; pDst->bfee_sts_lt_80 = tmp89__ >> 2 & 0x7; - pDst->nsts_tol_lt_80 = tmp89__ >> 5 & 0x7; - pDst->bfee_sta_gt_80 = tmp89__ >> 8 & 0x7; - pDst->nsts_tot_gt_80 = tmp89__ >> 11 & 0x7; - pDst->num_sounding_lt_80 = tmp89__ >> 14 & 0x7; - pDst->num_sounding_gt_80 = tmp89__ >> 17 & 0x7; - pDst->su_feedback_tone16 = tmp89__ >> 20 & 0x1; - pDst->mu_feedback_tone16 = tmp89__ >> 21 & 0x1; - pDst->codebook_su = tmp89__ >> 22 & 0x1; - pDst->codebook_mu = tmp89__ >> 23 & 0x1; - pDst->beamforming_feedback = tmp89__ >> 24 & 0x7; - pDst->he_er_su_ppdu = tmp89__ >> 27 & 0x1; - pDst->dl_mu_mimo_part_bw = tmp89__ >> 28 & 0x1; - pDst->ppet_present = tmp89__ >> 29 & 0x1; - pDst->srp = tmp89__ >> 30 & 0x1; - pDst->power_boost = tmp89__ >> 31 & 0x1; + pDst->bfee_sts_gt_80 = tmp89__ >> 5 & 0x7; + pDst->num_sounding_lt_80 = tmp89__ >> 8 & 0x7; + pDst->num_sounding_gt_80 = tmp89__ >> 11 & 0x7; + pDst->su_feedback_tone16 = tmp89__ >> 14 & 0x1; + pDst->mu_feedback_tone16 = tmp89__ >> 15 & 0x1; + pDst->codebook_su = tmp89__ >> 16 & 0x1; + pDst->codebook_mu = tmp89__ >> 17 & 0x1; + pDst->beamforming_feedback = tmp89__ >> 18 & 0x7; + pDst->he_er_su_ppdu = tmp89__ >> 21 & 0x1; + pDst->dl_mu_mimo_part_bw = tmp89__ >> 22 & 0x1; + pDst->ppet_present = tmp89__ >> 23 & 0x1; + pDst->srp = tmp89__ >> 24 & 0x1; + pDst->power_boost = tmp89__ >> 25 & 0x1; + pDst->he_ltf_800_gi_4x = tmp89__ >> 26 & 0x1; + pDst->max_nc = tmp89__ >> 27 & 0x7; + pDst->stbc_gt_80mhz = tmp89__ >> 30 & 0x3; tmp90__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->he_ltf_gi_4x = tmp90__ >> 0 & 0x1; + pDst->er_he_ltf_800_gi_4x = tmp90__ >> 0 & 0x1; pDst->reserved2 = tmp90__ >> 1 & 0x7f; framesntohs(pCtx, &tmp91__, pBuf, 0); pBuf += 2; @@ -6894,20 +6874,9 @@ uint32_t dot11f_unpack_ie_vendor_he_cap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor_he_cap. */ -#define SigIevendor_he_cap (0x0091) +#define SigIevendor_he_cap (0x0090) -static const tFFDefn FFS_vendor_he_op[] = { - { NULL, 0, 0, 0,}, -}; - -static const tIEDefn IES_vendor_he_op[] = { - { offsetof(tDot11fIEvendor_he_op, vht_info), offsetof(tDot11fIEvht_info, - present), 0, "vht_info", 0, 5, 5, SigIevht_info, {0, 0, 0, 0, 0}, - 0, DOT11F_EID_VHT_INFO, 0, 1, }, - {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, }, -}; - uint32_t dot11f_unpack_ie_vendor_he_op(tpAniSirGlobal pCtx, uint8_t *pBuf, uint32_t ielen, @@ -6928,26 +6897,48 @@ uint32_t dot11f_unpack_ie_vendor_he_op(tpAniSirGlobal pCtx, pDst->twt_required = tmp92__ >> 9 & 0x1; pDst->rts_threshold = tmp92__ >> 10 & 0x3ff; pDst->partial_bss_col = tmp92__ >> 20 & 0x1; - pDst->maxbssid_ind = tmp92__ >> 21 & 0xff; + pDst->vht_oper_present = tmp92__ >> 21 & 0x1; + pDst->reserved1 = tmp92__ >> 22 & 0x3f; + pDst->mbssid_ap = tmp92__ >> 28 & 0x1; pDst->tx_bssid_ind = tmp92__ >> 29 & 0x1; pDst->bss_col_disabled = tmp92__ >> 30 & 0x1; - pDst->dual_beacon = tmp92__ >> 31 & 0x1; + pDst->reserved2 = tmp92__ >> 31 & 0x1; DOT11F_MEMCPY(pCtx, pDst->basic_mcs_nss, pBuf, 3); pBuf += 3; ielen -= (uint8_t)3; + if (!ielen) { + return 0U; + } else { + switch (pDst->vht_oper_present) { + case 1: + pDst->vht_oper.info.chan_width = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + pDst->vht_oper.info.center_freq_seg0 = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + pDst->vht_oper.info.center_freq_seg1 = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + break; + } + } + if (!ielen) { + return 0U; + } else { + switch (pDst->mbssid_ap) { + case 1: + pDst->maxbssid_ind.info.data = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + break; + } + } (void)pCtx; - status |= unpack_core(pCtx, - pBuf, - ielen, - FFS_vendor_he_op, - IES_vendor_he_op, - (uint8_t *)pDst, - sizeof(*pDst), - append_ie); return status; } /* End dot11f_unpack_ie_vendor_he_op. */ -#define SigIevendor_he_op (0x0092) +#define SigIevendor_he_op (0x0091) static const tFFDefn FFS_vendor_vht_ie[] = { @@ -6991,7 +6982,7 @@ uint32_t dot11f_unpack_ie_vendor_vht_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor_vht_ie. */ -#define SigIevendor_vht_ie (0x0093) +#define SigIevendor_vht_ie (0x0092) static const tFFDefn FFS_AddTSRequest[] = { @@ -7410,7 +7401,7 @@ static const tIEDefn IES_AssocResponse[] = { 4, DOT11F_EID_VENDOR_HE_CAP, 0, 0, }, { offsetof(tDot11fAssocResponse, vendor_he_op), offsetof(tDot11fIEvendor_he_op, present), 0, "vendor_he_op", - 0, 13, 18, SigIevendor_he_op, {0, 19, 116, 2, 0}, + 0, 13, 17, SigIevendor_he_op, {0, 19, 116, 2, 0}, 4, DOT11F_EID_VENDOR_HE_OP, 0, 0, }, { offsetof(tDot11fAssocResponse, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", @@ -7704,7 +7695,7 @@ static const tIEDefn IES_Beacon[] = { 0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0}, 4, DOT11F_EID_VENDOR_HE_CAP, 0, 0, }, { offsetof(tDot11fBeacon, vendor_he_op), offsetof(tDot11fIEvendor_he_op, - present), 0, "vendor_he_op", 0, 13, 18, SigIevendor_he_op, + present), 0, "vendor_he_op", 0, 13, 17, SigIevendor_he_op, {0, 19, 116, 2, 0}, 4, DOT11F_EID_VENDOR_HE_OP, 0, 0, }, { offsetof(tDot11fBeacon, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", @@ -7931,7 +7922,7 @@ static const tIEDefn IES_Beacon2[] = { 0, 22, 49, SigIevendor_he_cap, {0, 19, 116, 1, 0}, 4, DOT11F_EID_VENDOR_HE_CAP, 0, 0, }, { offsetof(tDot11fBeacon2, vendor_he_op), offsetof(tDot11fIEvendor_he_op, - present), 0, "vendor_he_op", 0, 13, 18, SigIevendor_he_op, + present), 0, "vendor_he_op", 0, 13, 17, SigIevendor_he_op, {0, 19, 116, 2, 0}, 4, DOT11F_EID_VENDOR_HE_OP, 0, 0, }, { offsetof(tDot11fBeacon2, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", @@ -8159,7 +8150,7 @@ static const tIEDefn IES_BeaconIEs[] = { 4, DOT11F_EID_VENDOR_HE_CAP, 0, 0, }, { offsetof(tDot11fBeaconIEs, vendor_he_op), offsetof(tDot11fIEvendor_he_op, present), 0, "vendor_he_op", - 0, 13, 18, SigIevendor_he_op, {0, 19, 116, 2, 0}, + 0, 13, 17, SigIevendor_he_op, {0, 19, 116, 2, 0}, 4, DOT11F_EID_VENDOR_HE_OP, 0, 0, }, { offsetof(tDot11fBeaconIEs, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", @@ -8807,7 +8798,7 @@ static const tIEDefn IES_ProbeResponse[] = { 4, DOT11F_EID_VENDOR_HE_CAP, 0, 0, }, { offsetof(tDot11fProbeResponse, vendor_he_op), offsetof(tDot11fIEvendor_he_op, present), 0, "vendor_he_op", - 0, 13, 18, SigIevendor_he_op, {0, 19, 116, 2, 0}, + 0, 13, 17, SigIevendor_he_op, {0, 19, 116, 2, 0}, 4, DOT11F_EID_VENDOR_HE_OP, 0, 0, }, { offsetof(tDot11fProbeResponse, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", @@ -9209,7 +9200,7 @@ static const tIEDefn IES_ReAssocResponse[] = { 4, DOT11F_EID_VENDOR_HE_CAP, 0, 0, }, { offsetof(tDot11fReAssocResponse, vendor_he_op), offsetof(tDot11fIEvendor_he_op, present), 0, "vendor_he_op", - 0, 13, 18, SigIevendor_he_op, {0, 19, 116, 2, 0}, + 0, 13, 17, SigIevendor_he_op, {0, 19, 116, 2, 0}, 4, DOT11F_EID_VENDOR_HE_OP, 0, 0, }, { offsetof(tDot11fReAssocResponse, bss_color_change), offsetof(tDot11fIEbss_color_change, present), 0, "bss_color_change", @@ -10915,16 +10906,6 @@ static uint32_t unpack_core(tpAniSirGlobal pCtx, countOffset), append_ie); break; - case SigIevht_info: - status |= - dot11f_unpack_ie_vht_info( - pCtx, pBufRemaining, len, - (tDot11fIEvht_info *) - (pFrm + pIe->offset + - sizeof(tDot11fIEvht_info) * - countOffset), - append_ie); - break; case SigIevht_transmit_power_env: status |= dot11f_unpack_ie_vht_transmit_power_env( @@ -13333,8 +13314,26 @@ uint32_t dot11f_get_packed_ie_vendor_he_op(tpAniSirGlobal pCtx, while (pIe->present) { *pnNeeded += 4; *pnNeeded += 3; - status = get_packed_size_core(pCtx, (uint8_t *)pIe, pnNeeded, - IES_vendor_he_op); + if (pIe->vht_oper_present) { + switch (pIe->vht_oper_present) { + case 1: + *pnNeeded += 1; + *pnNeeded += 1; + *pnNeeded += 1; + break; + } + } else { + break; + } + if (pIe->mbssid_ap) { + switch (pIe->mbssid_ap) { + case 1: + *pnNeeded += 1; + break; + } + } else { + break; + } break; } return status; @@ -14170,13 +14169,6 @@ static uint32_t get_packed_size_core(tpAniSirGlobal pCtx, (pFrm + pIe->offset + offset * i))-> present; break; - case SigIevht_info: - offset = sizeof(tDot11fIEvht_info); - byteCount = 3; - pIePresent = ((tDot11fIEvht_info *) - (pFrm + pIe->offset + offset * i))-> - present; - break; case SigIevht_transmit_power_env: offset = sizeof(tDot11fIEvht_transmit_power_env); byteCount = ((tDot11fIEvht_transmit_power_env *) @@ -18839,41 +18831,6 @@ uint32_t dot11f_pack_ie_tgt_mac_addr(tpAniSirGlobal pCtx, return DOT11F_PARSE_SUCCESS; } /* End dot11f_pack_ie_tgt_mac_addr. */ -uint32_t dot11f_pack_ie_vht_info(tpAniSirGlobal pCtx, - tDot11fIEvht_info *pSrc, - uint8_t *pBuf, - uint32_t nBuf, - uint32_t *pnConsumed) -{ - uint8_t *pIeLen = 0; - uint32_t nConsumedOnEntry = *pnConsumed; - uint32_t nNeeded = 0U; - nNeeded += 3; - while (pSrc->present) { - if (nNeeded > nBuf) - return DOT11F_BUFFER_OVERFLOW; - *pBuf = 2; - ++pBuf; ++(*pnConsumed); - pIeLen = pBuf; - ++pBuf; ++(*pnConsumed); - *pBuf = pSrc->chan_width; - *pnConsumed += 1; - pBuf += 1; - *pBuf = pSrc->center_freq_seg0; - *pnConsumed += 1; - pBuf += 1; - *pBuf = pSrc->center_freq_seg1; - *pnConsumed += 1; - /* fieldsEndFlag = 1 */ - break; - } - (void)pCtx; - if (pIeLen) { - *pIeLen = *pnConsumed - nConsumedOnEntry - 2; - } - return DOT11F_PARSE_SUCCESS; -} /* End dot11f_pack_ie_vht_info. */ - uint32_t dot11f_pack_ie_vht_transmit_power_env(tpAniSirGlobal pCtx, tDot11fIEvht_transmit_power_env *pSrc, uint8_t *pBuf, @@ -23711,7 +23668,10 @@ uint32_t dot11f_pack_ie_vendor_he_cap(tpAniSirGlobal pCtx, tmp180__ |= (pSrc->bsrp_ampdu_aggr << 0); tmp180__ |= (pSrc->qtp << 1); tmp180__ |= (pSrc->a_bqr << 2); - tmp180__ |= (pSrc->reserved1 << 3); + tmp180__ |= (pSrc->sr_responder << 3); + tmp180__ |= (pSrc->ndp_feedback_supp << 4); + tmp180__ |= (pSrc->ops_supp << 5); + tmp180__ |= (pSrc->reserved1 << 6); *pBuf = tmp180__; *pnConsumed += 1; pBuf += 1; @@ -23722,9 +23682,10 @@ uint32_t dot11f_pack_ie_vendor_he_cap(tpAniSirGlobal pCtx, tmp181__ |= (pSrc->rx_pream_puncturing << 8); tmp181__ |= (pSrc->device_class << 12); tmp181__ |= (pSrc->ldpc_coding << 13); - tmp181__ |= (pSrc->he_ltf_gi_ppdu << 14); - tmp181__ |= (pSrc->he_ltf_gi_ndp << 16); - tmp181__ |= (pSrc->stbc << 18); + tmp181__ |= (pSrc->he_1x_ltf_800_gi_ppdu << 14); + tmp181__ |= (pSrc->reserved << 15); + tmp181__ |= (pSrc->he_4x_ltf_3200_gi_ndp << 17); + tmp181__ |= (pSrc->stbc_lt_80mhz << 18); tmp181__ |= (pSrc->doppler << 20); tmp181__ |= (pSrc->ul_mu << 22); tmp181__ |= (pSrc->dcm_enc_tx << 24); @@ -23739,27 +23700,28 @@ uint32_t dot11f_pack_ie_vendor_he_cap(tpAniSirGlobal pCtx, tmp182__ |= (pSrc->su_beamformee << 0); tmp182__ |= (pSrc->mu_beamformer << 1); tmp182__ |= (pSrc->bfee_sts_lt_80 << 2); - tmp182__ |= (pSrc->nsts_tol_lt_80 << 5); - tmp182__ |= (pSrc->bfee_sta_gt_80 << 8); - tmp182__ |= (pSrc->nsts_tot_gt_80 << 11); - tmp182__ |= (pSrc->num_sounding_lt_80 << 14); - tmp182__ |= (pSrc->num_sounding_gt_80 << 17); - tmp182__ |= (pSrc->su_feedback_tone16 << 20); - tmp182__ |= (pSrc->mu_feedback_tone16 << 21); - tmp182__ |= (pSrc->codebook_su << 22); - tmp182__ |= (pSrc->codebook_mu << 23); - tmp182__ |= (pSrc->beamforming_feedback << 24); - tmp182__ |= (pSrc->he_er_su_ppdu << 27); - tmp182__ |= (pSrc->dl_mu_mimo_part_bw << 28); - tmp182__ |= (pSrc->ppet_present << 29); - tmp182__ |= (pSrc->srp << 30); - tmp182__ |= (pSrc->power_boost << 31); + tmp182__ |= (pSrc->bfee_sts_gt_80 << 5); + tmp182__ |= (pSrc->num_sounding_lt_80 << 8); + tmp182__ |= (pSrc->num_sounding_gt_80 << 11); + tmp182__ |= (pSrc->su_feedback_tone16 << 14); + tmp182__ |= (pSrc->mu_feedback_tone16 << 15); + tmp182__ |= (pSrc->codebook_su << 16); + tmp182__ |= (pSrc->codebook_mu << 17); + tmp182__ |= (pSrc->beamforming_feedback << 18); + tmp182__ |= (pSrc->he_er_su_ppdu << 21); + tmp182__ |= (pSrc->dl_mu_mimo_part_bw << 22); + tmp182__ |= (pSrc->ppet_present << 23); + tmp182__ |= (pSrc->srp << 24); + tmp182__ |= (pSrc->power_boost << 25); + tmp182__ |= (pSrc->he_ltf_800_gi_4x << 26); + tmp182__ |= (pSrc->max_nc << 27); + tmp182__ |= (pSrc->stbc_gt_80mhz << 30); frameshtonl(pCtx, pBuf, tmp182__, 0); *pnConsumed += 4; pBuf += 4; nBuf -= 4 ; tmp183__ = 0U; - tmp183__ |= (pSrc->he_ltf_gi_4x << 0); + tmp183__ |= (pSrc->er_he_ltf_800_gi_4x << 0); tmp183__ |= (pSrc->reserved2 << 1); *pBuf = tmp183__; *pnConsumed += 1; @@ -23812,27 +23774,29 @@ uint32_t dot11f_pack_ie_vendor_he_op(tpAniSirGlobal pCtx, if (nNeeded > nBuf) return DOT11F_BUFFER_OVERFLOW; *pBuf = 221; - ++pBuf; --nBuf; ++(*pnConsumed); + ++pBuf; ++(*pnConsumed); pIeLen = pBuf; - ++pBuf; --nBuf; ++(*pnConsumed); + ++pBuf; ++(*pnConsumed); *pBuf = 0x0; - ++pBuf; --nBuf; ++(*pnConsumed); + ++pBuf; ++(*pnConsumed); *pBuf = 0x13; - ++pBuf; --nBuf; ++(*pnConsumed); + ++pBuf; ++(*pnConsumed); *pBuf = 0x74; - ++pBuf; --nBuf; ++(*pnConsumed); + ++pBuf; ++(*pnConsumed); *pBuf = 0x2; - ++pBuf; --nBuf; ++(*pnConsumed); + ++pBuf; ++(*pnConsumed); tmp185__ = 0U; tmp185__ |= (pSrc->bss_color << 0); tmp185__ |= (pSrc->default_pe << 6); tmp185__ |= (pSrc->twt_required << 9); tmp185__ |= (pSrc->rts_threshold << 10); tmp185__ |= (pSrc->partial_bss_col << 20); - tmp185__ |= (pSrc->maxbssid_ind << 21); + tmp185__ |= (pSrc->vht_oper_present << 21); + tmp185__ |= (pSrc->reserved1 << 22); + tmp185__ |= (pSrc->mbssid_ap << 28); tmp185__ |= (pSrc->tx_bssid_ind << 29); tmp185__ |= (pSrc->bss_col_disabled << 30); - tmp185__ |= (pSrc->dual_beacon << 31); + tmp185__ |= (pSrc->reserved2 << 31); frameshtonl(pCtx, pBuf, tmp185__, 0); *pnConsumed += 4; pBuf += 4; @@ -23840,13 +23804,34 @@ uint32_t dot11f_pack_ie_vendor_he_op(tpAniSirGlobal pCtx, DOT11F_MEMCPY(pCtx, pBuf, pSrc->basic_mcs_nss, 3); *pnConsumed += 3; pBuf += 3; - status = pack_core(pCtx, - (uint8_t *)pSrc, - pBuf, - nBuf, - pnConsumed, - FFS_vendor_he_op, - IES_vendor_he_op); + if (pSrc->vht_oper_present) { + switch (pSrc->vht_oper_present) { + case 1: + *pBuf = pSrc->vht_oper.info.chan_width; + *pnConsumed += 1; + pBuf += 1; + *pBuf = pSrc->vht_oper.info.center_freq_seg0; + *pnConsumed += 1; + pBuf += 1; + *pBuf = pSrc->vht_oper.info.center_freq_seg1; + *pnConsumed += 1; + pBuf += 1; + break; + } + } else { + break; + } + if (pSrc->mbssid_ap) { + switch (pSrc->mbssid_ap) { + case 1: + *pBuf = pSrc->maxbssid_ind.info.data; + *pnConsumed += 1; + /* fieldsEndFlag = 1 */ + break; + } + } else { + break; + } break; } (void)pCtx; @@ -25206,14 +25191,6 @@ static uint32_t pack_core(tpAniSirGlobal pCtx, sizeof(tDot11fIEtgt_mac_addr) * i), pBufRemaining, nBufRemaining, &len); break; - case SigIevht_info: - status |= - dot11f_pack_ie_vht_info( - pCtx, (tDot11fIEvht_info *) - (pSrc + pIe->offset + - sizeof(tDot11fIEvht_info) * i), - pBufRemaining, nBufRemaining, &len); - break; case SigIevht_transmit_power_env: status |= dot11f_pack_ie_vht_transmit_power_env(