diff --git a/core/mac/src/cfg/cfgUtil/dot11f.frms b/core/mac/src/cfg/cfgUtil/dot11f.frms index fdc1c63730..685f0cd42f 100644 --- a/core/mac/src/cfg/cfgUtil/dot11f.frms +++ b/core/mac/src/cfg/cfgUtil/dot11f.frms @@ -1666,6 +1666,21 @@ IE last_beacon_report_indication (EID_BCN_REPORT_LAST_BEACON_REPORT_INDICATION) last_fragment, 1; } +const EID_REPORTING_REASON = 1; +IE reporting_reason (EID_REPORTING_REASON) +{ + { + failed_count: 1; + fcs_error: 1; + multiple_retry: 1; + frame_duplicate: 1; + rts_failure: 1; + ack_failure: 1; + retry: 1; + reserved: 1; + } +} + IE MeasurementReport (EID_MEAS_REPORT) // 7.3.2.22 { token, 1; @@ -1736,7 +1751,62 @@ IE MeasurementReport (EID_MEAS_REPORT) // 7.3.2.22 OPTIE last_beacon_report_indication; //IE vendor_specific } - }; + sta_stats (type IS 7) + { + meas_duration, 2; + group_id, 1; + UNION statsgroupdata (DISCRIMINATOR group_id) + { + dot11_counter_stats (group_id IS 0) + { + transmitted_fragment_count, 4; + group_transmitted_frame_count, 4; + failed_count, 4; + received_fragment_count, 4; + group_received_frame_count, 4; + fcs_error_count, 4; + transmitted_frame_count, 4; + } + dot11_mac_stats (group_id IS 1) + { + retry_count, 4; + multiple_retry_count, 4; + frame_duplicate_count, 4; + rts_success_count, 4; + rts_failure_count, 4; + ack_failure_count, 4; + } + dot11_qos_counter (group_id IS 2) + { + qos_transmitted_fragment_count, 4; + qos_failed_count, 4; + qos_retry_count, 4; + qos_multiple_retry_count, 4; + qos_frame_duplicate_count, 4; + qos_rts_success_count, 4; + qos_rts_failure_count, 4; + qos_ack_failure_count, 4; + qos_received_fragment_count, 4; + qos_transmitted_frame_count, 4; + qos_discarded_frame_count, 4; + qos_mpdus_received_count, 4; + qos_retries_received_count, 4; + } + dot11_bss_average_access_delay (group_id IS 10) + { + ap_average_access_delay, 2; + average_access_delay_besteffort, 2; + average_access_delay_background, 2; + average_access_delay_video, 2; + average_access_delay_voice, 2; + station_count, 2; + channel_utilization, 2; + } + }; + OPTIE reporting_reason; + } + + }; } IE TSDelay (EID_TS_DELAY) // 7.3.2.32 diff --git a/core/mac/src/include/dot11f.h b/core/mac/src/include/dot11f.h index 9241879695..bdcadf5359 100644 --- a/core/mac/src/include/dot11f.h +++ b/core/mac/src/include/dot11f.h @@ -27,7 +27,7 @@ * * * This file was automatically generated by 'framesc' - * Tue May 30 09:55:35 2023 from the following file(s): + * Tue Aug 8 05:29:17 2023 from the following file(s): * * dot11f.frms * @@ -4637,6 +4637,52 @@ uint32_t dot11f_get_packed_ie_neighbor_rpt( }; /* End extern "C". */ #endif /* C++ */ +/* EID 1 (0x01) */ +typedef struct sDot11fIEreporting_reason { + uint8_t present; + uint8_t failed_count:1; + uint8_t fcs_error:1; + uint8_t multiple_retry:1; + uint8_t frame_duplicate:1; + uint8_t rts_failure:1; + uint8_t ack_failure:1; + uint8_t retry:1; + uint8_t reserved:1; +} tDot11fIEreporting_reason; + +#define DOT11F_EID_REPORTING_REASON (1) + +/* N.B. These #defines do *not* include the EID & length */ +#define DOT11F_IE_REPORTING_REASON_MIN_LEN (1) + +#define DOT11F_IE_REPORTING_REASON_MAX_LEN (1) + +#ifdef __cplusplus +extern "C" { +#endif /* C++ */ +__must_check uint32_t dot11f_unpack_ie_reporting_reason( + tpAniSirGlobal, + uint8_t *, + uint8_t, + tDot11fIEreporting_reason*, + bool); + +uint32_t dot11f_pack_ie_reporting_reason( + tpAniSirGlobal, + tDot11fIEreporting_reason *, + uint8_t *, + uint32_t, + uint32_t*); + +uint32_t dot11f_get_packed_ie_reporting_reason( + tpAniSirGlobal, + tDot11fIEreporting_reason *, + uint32_t*); + +#ifdef __cplusplus +}; /* End extern "C". */ +#endif /* C++ */ + /* EID 2 (0x02) */ typedef struct sDot11fIEreq_mac_addr { uint8_t present; @@ -5984,6 +6030,54 @@ typedef struct sDot11fIEMeasurementReport { tDot11fIEbeacon_report_frm_body_fragment_id beacon_report_frm_body_fragment_id; tDot11fIElast_beacon_report_indication last_beacon_report_indication; } Beacon; /* type = 5 */ + struct { + uint16_t meas_duration; + uint8_t group_id; + union { + struct { + uint32_t transmitted_fragment_count; + uint32_t group_transmitted_frame_count; + uint32_t failed_count; + uint32_t received_fragment_count; + uint32_t group_received_frame_count; + uint32_t fcs_error_count; + uint32_t transmitted_frame_count; + } dot11_counter_stats; /* group_id = 0 */ + struct { + uint32_t retry_count; + uint32_t multiple_retry_count; + uint32_t frame_duplicate_count; + uint32_t rts_success_count; + uint32_t rts_failure_count; + uint32_t ack_failure_count; + } dot11_mac_stats; /* group_id = 1 */ + struct { + uint32_t qos_transmitted_fragment_count; + uint32_t qos_failed_count; + uint32_t qos_retry_count; + uint32_t qos_multiple_retry_count; + uint32_t qos_frame_duplicate_count; + uint32_t qos_rts_success_count; + uint32_t qos_rts_failure_count; + uint32_t qos_ack_failure_count; + uint32_t qos_received_fragment_count; + uint32_t qos_transmitted_frame_count; + uint32_t qos_discarded_frame_count; + uint32_t qos_mpdus_received_count; + uint32_t qos_retries_received_count; + } dot11_qos_counter; /* group_id = 2 */ + struct { + uint16_t ap_average_access_delay; + uint16_t average_access_delay_besteffort; + uint16_t average_access_delay_background; + uint16_t average_access_delay_video; + uint16_t average_access_delay_voice; + uint16_t station_count; + uint16_t channel_utilization; + } dot11_bss_average_access_delay; /* group_id = 10 */ + } statsgroupdata; + tDot11fIEreporting_reason reporting_reason; + } sta_stats; /* type = 7 */ } report; } tDot11fIEMeasurementReport; @@ -5992,7 +6086,7 @@ typedef struct sDot11fIEMeasurementReport { /* N.B. These #defines do *not* include the EID & length */ #define DOT11F_IE_MEASUREMENTREPORT_MIN_LEN (3) -#define DOT11F_IE_MEASUREMENTREPORT_MAX_LEN (29) +#define DOT11F_IE_MEASUREMENTREPORT_MAX_LEN (58) #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 192baeed6d..c69b53fb12 100644 --- a/core/mac/src/sys/legacy/src/utils/src/dot11f.c +++ b/core/mac/src/sys/legacy/src/utils/src/dot11f.c @@ -25,7 +25,7 @@ * * * This file was automatically generated by 'framesc' - * Tue May 30 09:55:35 2023 from the following file(s): + * Tue Aug 8 05:29:17 2023 from the following file(s): * * dot11f.frms * @@ -336,7 +336,7 @@ static uint32_t get_container_ies_len(tpAniSirGlobal pCtx, len += *(pBufRemaining+1); pBufRemaining += len + 2; len += 2; - while (len + 1 < nBuf) { + while (len < nBuf) { pIe = find_ie_defn(pCtx, pBufRemaining, nBuf - len, IEs); if (NULL == pIe) break; @@ -3850,6 +3850,39 @@ uint32_t dot11f_unpack_ie_neighbor_rpt(tpAniSirGlobal pCtx, #define SigIeneighbor_rpt (0x0024) +uint32_t dot11f_unpack_ie_reporting_reason(tpAniSirGlobal pCtx, + uint8_t *pBuf, + uint8_t ielen, + tDot11fIEreporting_reason *pDst, + bool append_ie) +{ + uint32_t status = DOT11F_PARSE_SUCCESS; + uint8_t tmp32__; + (void) pBuf; (void)ielen; /* Shutup the compiler */ + if (pDst->present) + return DOT11F_DUPLICATE_IE; + pDst->present = 1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + tmp32__ = *pBuf; + pDst->failed_count = tmp32__ >> 0 & 0x1; + pDst->fcs_error = tmp32__ >> 1 & 0x1; + pDst->multiple_retry = tmp32__ >> 2 & 0x1; + pDst->frame_duplicate = tmp32__ >> 3 & 0x1; + pDst->rts_failure = tmp32__ >> 4 & 0x1; + pDst->ack_failure = tmp32__ >> 5 & 0x1; + pDst->retry = tmp32__ >> 6 & 0x1; + pDst->reserved = tmp32__ >> 7 & 0x1; + (void)pCtx; + return status; +} /* End dot11f_unpack_ie_reporting_reason. */ + +#define SigIereporting_reason (0x0025) + + uint32_t dot11f_unpack_ie_req_mac_addr(tpAniSirGlobal pCtx, uint8_t *pBuf, uint8_t ielen, @@ -3871,7 +3904,7 @@ uint32_t dot11f_unpack_ie_req_mac_addr(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_req_mac_addr. */ -#define SigIereq_mac_addr (0x0025) +#define SigIereq_mac_addr (0x0026) uint32_t dot11f_unpack_ie_tclas_mask(tpAniSirGlobal pCtx, @@ -3917,7 +3950,7 @@ uint32_t dot11f_unpack_ie_tclas_mask(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tclas_mask. */ -#define SigIetclas_mask (0x0026) +#define SigIetclas_mask (0x0027) uint32_t dot11f_unpack_ie_tgt_mac_addr(tpAniSirGlobal pCtx, @@ -3941,7 +3974,7 @@ uint32_t dot11f_unpack_ie_tgt_mac_addr(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tgt_mac_addr. */ -#define SigIetgt_mac_addr (0x0027) +#define SigIetgt_mac_addr (0x0028) uint32_t dot11f_unpack_ie_transmit_power_env(tpAniSirGlobal pCtx, @@ -3951,7 +3984,7 @@ uint32_t dot11f_unpack_ie_transmit_power_env(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp32__; + uint8_t tmp33__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -3961,12 +3994,12 @@ uint32_t dot11f_unpack_ie_transmit_power_env(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp32__ = *pBuf; + tmp33__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->max_tx_pwr_count = tmp32__ >> 0 & 0x7; - pDst->max_tx_pwr_interpret = tmp32__ >> 3 & 0x7; - pDst->max_tx_pwr_category = tmp32__ >> 6 & 0x3; + pDst->max_tx_pwr_count = tmp33__ >> 0 & 0x7; + pDst->max_tx_pwr_interpret = tmp33__ >> 3 & 0x7; + pDst->max_tx_pwr_category = tmp33__ >> 6 & 0x3; pDst->num_tx_power = (uint8_t)(ielen); if (ielen > 8) { pDst->present = 0; @@ -3978,7 +4011,7 @@ uint32_t dot11f_unpack_ie_transmit_power_env(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_transmit_power_env. */ -#define SigIetransmit_power_env (0x0028) +#define SigIetransmit_power_env (0x0029) uint32_t dot11f_unpack_ie_aid(tpAniSirGlobal pCtx, @@ -4002,7 +4035,7 @@ uint32_t dot11f_unpack_ie_aid(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_aid. */ -#define SigIeAID (0x0029) +#define SigIeAID (0x002a) uint32_t dot11f_unpack_ie_cf_params(tpAniSirGlobal pCtx, @@ -4050,7 +4083,7 @@ uint32_t dot11f_unpack_ie_cf_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_cf_params. */ -#define SigIeCFParams (0x002a) +#define SigIeCFParams (0x002b) uint32_t dot11f_unpack_ie_challenge_text(tpAniSirGlobal pCtx, @@ -4075,7 +4108,7 @@ uint32_t dot11f_unpack_ie_challenge_text(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_challenge_text. */ -#define SigIeChallengeText (0x002b) +#define SigIeChallengeText (0x002c) uint32_t dot11f_unpack_ie_chan_switch_ann(tpAniSirGlobal pCtx, @@ -4115,7 +4148,7 @@ uint32_t dot11f_unpack_ie_chan_switch_ann(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_chan_switch_ann. */ -#define SigIeChanSwitchAnn (0x002c) +#define SigIeChanSwitchAnn (0x002d) static const tFFDefn FFS_ChannelSwitchWrapper[] = { @@ -4157,7 +4190,7 @@ uint32_t dot11f_unpack_ie_channel_switch_wrapper(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_channel_switch_wrapper. */ -#define SigIeChannelSwitchWrapper (0x002d) +#define SigIeChannelSwitchWrapper (0x002e) uint32_t dot11f_unpack_ie_country(tpAniSirGlobal pCtx, @@ -4203,10 +4236,10 @@ uint32_t dot11f_unpack_ie_country(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_country. */ -#define SigIeCountry (0x002e) +#define SigIeCountry (0x002f) -#define SigIeDSParams (0x002f) +#define SigIeDSParams (0x0030) uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, @@ -4216,7 +4249,6 @@ uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp33__; uint8_t tmp34__; uint8_t tmp35__; uint8_t tmp36__; @@ -4224,6 +4256,7 @@ uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, uint8_t tmp38__; uint8_t tmp39__; uint8_t tmp40__; + uint8_t tmp41__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -4249,23 +4282,23 @@ uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp33__ = *pBuf; + tmp34__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbe_aifsn = tmp33__ >> 0 & 0xf; - pDst->acbe_acm = tmp33__ >> 4 & 0x1; - pDst->acbe_aci = tmp33__ >> 5 & 0x3; - pDst->unused1 = tmp33__ >> 7 & 0x1; + pDst->acbe_aifsn = tmp34__ >> 0 & 0xf; + pDst->acbe_acm = tmp34__ >> 4 & 0x1; + pDst->acbe_aci = tmp34__ >> 5 & 0x3; + pDst->unused1 = tmp34__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp34__ = *pBuf; + tmp35__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbe_acwmin = tmp34__ >> 0 & 0xf; - pDst->acbe_acwmax = tmp34__ >> 4 & 0xf; + pDst->acbe_acwmin = tmp35__ >> 0 & 0xf; + pDst->acbe_acwmax = tmp35__ >> 4 & 0xf; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -4279,23 +4312,23 @@ uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp35__ = *pBuf; + tmp36__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbk_aifsn = tmp35__ >> 0 & 0xf; - pDst->acbk_acm = tmp35__ >> 4 & 0x1; - pDst->acbk_aci = tmp35__ >> 5 & 0x3; - pDst->unused2 = tmp35__ >> 7 & 0x1; + pDst->acbk_aifsn = tmp36__ >> 0 & 0xf; + pDst->acbk_acm = tmp36__ >> 4 & 0x1; + pDst->acbk_aci = tmp36__ >> 5 & 0x3; + pDst->unused2 = tmp36__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp36__ = *pBuf; + tmp37__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbk_acwmin = tmp36__ >> 0 & 0xf; - pDst->acbk_acwmax = tmp36__ >> 4 & 0xf; + pDst->acbk_acwmin = tmp37__ >> 0 & 0xf; + pDst->acbk_acwmax = tmp37__ >> 4 & 0xf; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -4309,23 +4342,23 @@ uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp37__ = *pBuf; + tmp38__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvi_aifsn = tmp37__ >> 0 & 0xf; - pDst->acvi_acm = tmp37__ >> 4 & 0x1; - pDst->acvi_aci = tmp37__ >> 5 & 0x3; - pDst->unused3 = tmp37__ >> 7 & 0x1; + pDst->acvi_aifsn = tmp38__ >> 0 & 0xf; + pDst->acvi_acm = tmp38__ >> 4 & 0x1; + pDst->acvi_aci = tmp38__ >> 5 & 0x3; + pDst->unused3 = tmp38__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp38__ = *pBuf; + tmp39__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvi_acwmin = tmp38__ >> 0 & 0xf; - pDst->acvi_acwmax = tmp38__ >> 4 & 0xf; + pDst->acvi_acwmin = tmp39__ >> 0 & 0xf; + pDst->acvi_acwmax = tmp39__ >> 4 & 0xf; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -4339,23 +4372,23 @@ uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp39__ = *pBuf; + tmp40__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvo_aifsn = tmp39__ >> 0 & 0xf; - pDst->acvo_acm = tmp39__ >> 4 & 0x1; - pDst->acvo_aci = tmp39__ >> 5 & 0x3; - pDst->unused4 = tmp39__ >> 7 & 0x1; + pDst->acvo_aifsn = tmp40__ >> 0 & 0xf; + pDst->acvo_acm = tmp40__ >> 4 & 0x1; + pDst->acvo_aci = tmp40__ >> 5 & 0x3; + pDst->unused4 = tmp40__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp40__ = *pBuf; + tmp41__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvo_acwmin = tmp40__ >> 0 & 0xf; - pDst->acvo_acwmax = tmp40__ >> 4 & 0xf; + pDst->acvo_acwmin = tmp41__ >> 0 & 0xf; + pDst->acvo_acwmax = tmp41__ >> 4 & 0xf; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -4366,7 +4399,7 @@ uint32_t dot11f_unpack_ie_edca_param_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_edca_param_set. */ -#define SigIeEDCAParamSet (0x0030) +#define SigIeEDCAParamSet (0x0031) uint32_t dot11f_unpack_ie_erp_info(tpAniSirGlobal pCtx, @@ -4376,7 +4409,7 @@ uint32_t dot11f_unpack_ie_erp_info(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp41__; + uint8_t tmp42__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -4386,16 +4419,16 @@ uint32_t dot11f_unpack_ie_erp_info(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp41__ = *pBuf; - pDst->non_erp_present = tmp41__ >> 0 & 0x1; - pDst->use_prot = tmp41__ >> 1 & 0x1; - pDst->barker_preamble = tmp41__ >> 2 & 0x1; - pDst->unused = tmp41__ >> 3 & 0x1f; + tmp42__ = *pBuf; + pDst->non_erp_present = tmp42__ >> 0 & 0x1; + pDst->use_prot = tmp42__ >> 1 & 0x1; + pDst->barker_preamble = tmp42__ >> 2 & 0x1; + pDst->unused = tmp42__ >> 3 & 0x1f; (void)pCtx; return status; } /* End dot11f_unpack_ie_erp_info. */ -#define SigIeERPInfo (0x0031) +#define SigIeERPInfo (0x0032) uint32_t dot11f_unpack_ie_ese_cckm_opaque(tpAniSirGlobal pCtx, @@ -4420,7 +4453,7 @@ uint32_t dot11f_unpack_ie_ese_cckm_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_cckm_opaque. */ -#define SigIeESECckmOpaque (0x0032) +#define SigIeESECckmOpaque (0x0033) uint32_t dot11f_unpack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, @@ -4430,7 +4463,7 @@ uint32_t dot11f_unpack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp42__; + uint8_t tmp43__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -4448,14 +4481,14 @@ uint32_t dot11f_unpack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp42__ = *pBuf; - pDst->mbssid_mask = tmp42__ >> 0 & 0x7; - pDst->reserved = tmp42__ >> 3 & 0x1f; + tmp43__ = *pBuf; + pDst->mbssid_mask = tmp43__ >> 0 & 0x7; + pDst->reserved = tmp43__ >> 3 & 0x1f; (void)pCtx; return status; } /* End dot11f_unpack_ie_ese_rad_mgmt_cap. */ -#define SigIeESERadMgmtCap (0x0033) +#define SigIeESERadMgmtCap (0x0034) uint32_t dot11f_unpack_ie_ese_traf_strm_met(tpAniSirGlobal pCtx, @@ -4495,7 +4528,7 @@ uint32_t dot11f_unpack_ie_ese_traf_strm_met(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_traf_strm_met. */ -#define SigIeESETrafStrmMet (0x0034) +#define SigIeESETrafStrmMet (0x0035) uint32_t dot11f_unpack_ie_ese_traf_strm_rate_set(tpAniSirGlobal pCtx, @@ -4528,7 +4561,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 (0x0035) +#define SigIeESETrafStrmRateSet (0x0036) uint32_t dot11f_unpack_ie_ese_txmit_power(tpAniSirGlobal pCtx, @@ -4560,7 +4593,7 @@ uint32_t dot11f_unpack_ie_ese_txmit_power(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_txmit_power. */ -#define SigIeESETxmitPower (0x0036) +#define SigIeESETxmitPower (0x0037) uint32_t dot11f_unpack_ie_ese_version(tpAniSirGlobal pCtx, @@ -4584,7 +4617,7 @@ uint32_t dot11f_unpack_ie_ese_version(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ese_version. */ -#define SigIeESEVersion (0x0037) +#define SigIeESEVersion (0x0038) uint32_t dot11f_unpack_ie_ext_cap(tpAniSirGlobal pCtx, @@ -4614,7 +4647,7 @@ endUnpackIeExtCap: return status; } /* End dot11f_unpack_ie_ext_cap. */ -#define SigIeExtCap (0x0038) +#define SigIeExtCap (0x0039) uint32_t dot11f_unpack_ie_ext_supp_rates(tpAniSirGlobal pCtx, @@ -4647,7 +4680,7 @@ uint32_t dot11f_unpack_ie_ext_supp_rates(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ext_supp_rates. */ -#define SigIeExtSuppRates (0x0039) +#define SigIeExtSuppRates (0x003a) uint32_t dot11f_unpack_ie_fh_param_set(tpAniSirGlobal pCtx, @@ -4695,7 +4728,7 @@ uint32_t dot11f_unpack_ie_fh_param_set(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fh_param_set. */ -#define SigIeFHParamSet (0x003a) +#define SigIeFHParamSet (0x003b) uint32_t dot11f_unpack_ie_fh_params(tpAniSirGlobal pCtx, @@ -4727,7 +4760,7 @@ uint32_t dot11f_unpack_ie_fh_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fh_params. */ -#define SigIeFHParams (0x003b) +#define SigIeFHParams (0x003c) uint32_t dot11f_unpack_ie_fh_patt_table(tpAniSirGlobal pCtx, @@ -4784,7 +4817,7 @@ uint32_t dot11f_unpack_ie_fh_patt_table(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fh_patt_table. */ -#define SigIeFHPattTable (0x003c) +#define SigIeFHPattTable (0x003d) static const tFFDefn FFS_FTInfo[] = { @@ -4813,7 +4846,7 @@ uint32_t dot11f_unpack_ie_ft_info(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint16_t tmp43__; + uint16_t tmp44__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -4823,11 +4856,11 @@ uint32_t dot11f_unpack_ie_ft_info(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp43__, pBuf, 0); + framesntohs(pCtx, &tmp44__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->reserved = tmp43__ >> 0 & 0xff; - pDst->IECount = tmp43__ >> 8 & 0xff; + pDst->reserved = tmp44__ >> 0 & 0xff; + pDst->IECount = tmp44__ >> 8 & 0xff; if (unlikely(ielen < 16)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -4864,7 +4897,7 @@ uint32_t dot11f_unpack_ie_ft_info(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ft_info. */ -#define SigIeFTInfo (0x003d) +#define SigIeFTInfo (0x003e) uint32_t dot11f_unpack_ie_ht_caps(tpAniSirGlobal pCtx, @@ -4874,11 +4907,11 @@ uint32_t dot11f_unpack_ie_ht_caps(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint16_t tmp44__; - uint8_t tmp45__; - uint16_t tmp46__; - uint32_t tmp47__; - uint8_t tmp48__; + uint16_t tmp45__; + uint8_t tmp46__; + uint16_t tmp47__; + uint32_t tmp48__; + uint8_t tmp49__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -4888,34 +4921,34 @@ uint32_t dot11f_unpack_ie_ht_caps(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp44__, pBuf, 0); + framesntohs(pCtx, &tmp45__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->advCodingCap = tmp44__ >> 0 & 0x1; - pDst->supportedChannelWidthSet = tmp44__ >> 1 & 0x1; - pDst->mimoPowerSave = tmp44__ >> 2 & 0x3; - pDst->greenField = tmp44__ >> 4 & 0x1; - pDst->shortGI20MHz = tmp44__ >> 5 & 0x1; - pDst->shortGI40MHz = tmp44__ >> 6 & 0x1; - pDst->txSTBC = tmp44__ >> 7 & 0x1; - pDst->rxSTBC = tmp44__ >> 8 & 0x3; - pDst->delayedBA = tmp44__ >> 10 & 0x1; - pDst->maximalAMSDUsize = tmp44__ >> 11 & 0x1; - pDst->dsssCckMode40MHz = tmp44__ >> 12 & 0x1; - pDst->psmp = tmp44__ >> 13 & 0x1; - pDst->stbcControlFrame = tmp44__ >> 14 & 0x1; - pDst->lsigTXOPProtection = tmp44__ >> 15 & 0x1; + pDst->advCodingCap = tmp45__ >> 0 & 0x1; + pDst->supportedChannelWidthSet = tmp45__ >> 1 & 0x1; + pDst->mimoPowerSave = tmp45__ >> 2 & 0x3; + pDst->greenField = tmp45__ >> 4 & 0x1; + pDst->shortGI20MHz = tmp45__ >> 5 & 0x1; + pDst->shortGI40MHz = tmp45__ >> 6 & 0x1; + pDst->txSTBC = tmp45__ >> 7 & 0x1; + pDst->rxSTBC = tmp45__ >> 8 & 0x3; + pDst->delayedBA = tmp45__ >> 10 & 0x1; + pDst->maximalAMSDUsize = tmp45__ >> 11 & 0x1; + pDst->dsssCckMode40MHz = tmp45__ >> 12 & 0x1; + pDst->psmp = tmp45__ >> 13 & 0x1; + pDst->stbcControlFrame = tmp45__ >> 14 & 0x1; + pDst->lsigTXOPProtection = tmp45__ >> 15 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp45__ = *pBuf; + tmp46__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->maxRxAMPDUFactor = tmp45__ >> 0 & 0x3; - pDst->mpduDensity = tmp45__ >> 2 & 0x7; - pDst->reserved1 = tmp45__ >> 5 & 0x7; + pDst->maxRxAMPDUFactor = tmp46__ >> 0 & 0x3; + pDst->mpduDensity = tmp46__ >> 2 & 0x7; + pDst->reserved1 = tmp46__ >> 5 & 0x7; if (unlikely(ielen < 16)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -4929,54 +4962,54 @@ uint32_t dot11f_unpack_ie_ht_caps(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp46__, pBuf, 0); + framesntohs(pCtx, &tmp47__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->pco = tmp46__ >> 0 & 0x1; - pDst->transitionTime = tmp46__ >> 1 & 0x3; - pDst->reserved2 = tmp46__ >> 3 & 0x1f; - pDst->mcsFeedback = tmp46__ >> 8 & 0x3; - pDst->reserved3 = tmp46__ >> 10 & 0x3f; + pDst->pco = tmp47__ >> 0 & 0x1; + pDst->transitionTime = tmp47__ >> 1 & 0x3; + pDst->reserved2 = tmp47__ >> 3 & 0x1f; + pDst->mcsFeedback = tmp47__ >> 8 & 0x3; + pDst->reserved3 = tmp47__ >> 10 & 0x3f; if (unlikely(ielen < 4)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - framesntohl(pCtx, &tmp47__, pBuf, 0); + framesntohl(pCtx, &tmp48__, pBuf, 0); pBuf += 4; ielen -= 4; - pDst->txBF = tmp47__ >> 0 & 0x1; - pDst->rxStaggeredSounding = tmp47__ >> 1 & 0x1; - pDst->txStaggeredSounding = tmp47__ >> 2 & 0x1; - pDst->rxZLF = tmp47__ >> 3 & 0x1; - pDst->txZLF = tmp47__ >> 4 & 0x1; - pDst->implicitTxBF = tmp47__ >> 5 & 0x1; - pDst->calibration = tmp47__ >> 6 & 0x3; - pDst->explicitCSITxBF = tmp47__ >> 8 & 0x1; - pDst->explicitUncompressedSteeringMatrix = tmp47__ >> 9 & 0x1; - pDst->explicitBFCSIFeedback = tmp47__ >> 10 & 0x7; - pDst->explicitUncompressedSteeringMatrixFeedback = tmp47__ >> 13 & 0x7; - pDst->explicitCompressedSteeringMatrixFeedback = tmp47__ >> 16 & 0x7; - pDst->csiNumBFAntennae = tmp47__ >> 19 & 0x3; - pDst->uncompressedSteeringMatrixBFAntennae = tmp47__ >> 21 & 0x3; - pDst->compressedSteeringMatrixBFAntennae = tmp47__ >> 23 & 0x3; - pDst->reserved4 = tmp47__ >> 25 & 0x7f; + pDst->txBF = tmp48__ >> 0 & 0x1; + pDst->rxStaggeredSounding = tmp48__ >> 1 & 0x1; + pDst->txStaggeredSounding = tmp48__ >> 2 & 0x1; + pDst->rxZLF = tmp48__ >> 3 & 0x1; + pDst->txZLF = tmp48__ >> 4 & 0x1; + pDst->implicitTxBF = tmp48__ >> 5 & 0x1; + pDst->calibration = tmp48__ >> 6 & 0x3; + pDst->explicitCSITxBF = tmp48__ >> 8 & 0x1; + pDst->explicitUncompressedSteeringMatrix = tmp48__ >> 9 & 0x1; + pDst->explicitBFCSIFeedback = tmp48__ >> 10 & 0x7; + pDst->explicitUncompressedSteeringMatrixFeedback = tmp48__ >> 13 & 0x7; + pDst->explicitCompressedSteeringMatrixFeedback = tmp48__ >> 16 & 0x7; + pDst->csiNumBFAntennae = tmp48__ >> 19 & 0x3; + pDst->uncompressedSteeringMatrixBFAntennae = tmp48__ >> 21 & 0x3; + pDst->compressedSteeringMatrixBFAntennae = tmp48__ >> 23 & 0x3; + pDst->reserved4 = tmp48__ >> 25 & 0x7f; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp48__ = *pBuf; + tmp49__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->antennaSelection = tmp48__ >> 0 & 0x1; - pDst->explicitCSIFeedbackTx = tmp48__ >> 1 & 0x1; - pDst->antennaIndicesFeedbackTx = tmp48__ >> 2 & 0x1; - pDst->explicitCSIFeedback = tmp48__ >> 3 & 0x1; - pDst->antennaIndicesFeedback = tmp48__ >> 4 & 0x1; - pDst->rxAS = tmp48__ >> 5 & 0x1; - pDst->txSoundingPPDUs = tmp48__ >> 6 & 0x1; - pDst->reserved5 = tmp48__ >> 7 & 0x1; + pDst->antennaSelection = tmp49__ >> 0 & 0x1; + pDst->explicitCSIFeedbackTx = tmp49__ >> 1 & 0x1; + pDst->antennaIndicesFeedbackTx = tmp49__ >> 2 & 0x1; + pDst->explicitCSIFeedback = tmp49__ >> 3 & 0x1; + pDst->antennaIndicesFeedback = tmp49__ >> 4 & 0x1; + pDst->rxAS = tmp49__ >> 5 & 0x1; + pDst->txSoundingPPDUs = tmp49__ >> 6 & 0x1; + pDst->reserved5 = tmp49__ >> 7 & 0x1; pDst->num_rsvd = (uint8_t)(ielen); if (ielen > 32) { pDst->present = 0; @@ -4988,7 +5021,7 @@ uint32_t dot11f_unpack_ie_ht_caps(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ht_caps. */ -#define SigIeHTCaps (0x003e) +#define SigIeHTCaps (0x003f) uint32_t dot11f_unpack_ie_ht_info(tpAniSirGlobal pCtx, @@ -4998,9 +5031,9 @@ uint32_t dot11f_unpack_ie_ht_info(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp49__; - uint16_t tmp50__; + uint8_t tmp50__; uint16_t tmp51__; + uint16_t tmp52__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -5018,28 +5051,14 @@ uint32_t dot11f_unpack_ie_ht_info(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp49__ = *pBuf; + tmp50__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->secondaryChannelOffset = tmp49__ >> 0 & 0x3; - pDst->recommendedTxWidthSet = tmp49__ >> 2 & 0x1; - pDst->rifsMode = tmp49__ >> 3 & 0x1; - pDst->controlledAccessOnly = tmp49__ >> 4 & 0x1; - pDst->serviceIntervalGranularity = tmp49__ >> 5 & 0x7; - if (unlikely(ielen < 2)) { - pDst->present = 0; - return DOT11F_INCOMPLETE_IE; - } - - framesntohs(pCtx, &tmp50__, pBuf, 0); - pBuf += 2; - ielen -= 2; - pDst->opMode = tmp50__ >> 0 & 0x3; - pDst->nonGFDevicesPresent = tmp50__ >> 2 & 0x1; - pDst->transmitBurstLimit = tmp50__ >> 3 & 0x1; - pDst->obssNonHTStaPresent = tmp50__ >> 4 & 0x1; - pDst->chan_center_freq_seg2 = tmp50__ >> 5 & 0xff; - pDst->reserved = tmp50__ >> 13 & 0x7; + pDst->secondaryChannelOffset = tmp50__ >> 0 & 0x3; + pDst->recommendedTxWidthSet = tmp50__ >> 2 & 0x1; + pDst->rifsMode = tmp50__ >> 3 & 0x1; + pDst->controlledAccessOnly = tmp50__ >> 4 & 0x1; + pDst->serviceIntervalGranularity = tmp50__ >> 5 & 0x7; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -5048,13 +5067,27 @@ uint32_t dot11f_unpack_ie_ht_info(tpAniSirGlobal pCtx, framesntohs(pCtx, &tmp51__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->basicSTBCMCS = tmp51__ >> 0 & 0x7f; - pDst->dualCTSProtection = tmp51__ >> 7 & 0x1; - pDst->secondaryBeacon = tmp51__ >> 8 & 0x1; - pDst->lsigTXOPProtectionFullSupport = tmp51__ >> 9 & 0x1; - pDst->pcoActive = tmp51__ >> 10 & 0x1; - pDst->pcoPhase = tmp51__ >> 11 & 0x1; - pDst->reserved2 = tmp51__ >> 12 & 0xf; + pDst->opMode = tmp51__ >> 0 & 0x3; + pDst->nonGFDevicesPresent = tmp51__ >> 2 & 0x1; + pDst->transmitBurstLimit = tmp51__ >> 3 & 0x1; + pDst->obssNonHTStaPresent = tmp51__ >> 4 & 0x1; + pDst->chan_center_freq_seg2 = tmp51__ >> 5 & 0xff; + pDst->reserved = tmp51__ >> 13 & 0x7; + if (unlikely(ielen < 2)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohs(pCtx, &tmp52__, pBuf, 0); + pBuf += 2; + ielen -= 2; + pDst->basicSTBCMCS = tmp52__ >> 0 & 0x7f; + pDst->dualCTSProtection = tmp52__ >> 7 & 0x1; + pDst->secondaryBeacon = tmp52__ >> 8 & 0x1; + pDst->lsigTXOPProtectionFullSupport = tmp52__ >> 9 & 0x1; + pDst->pcoActive = tmp52__ >> 10 & 0x1; + pDst->pcoPhase = tmp52__ >> 11 & 0x1; + pDst->reserved2 = tmp52__ >> 12 & 0xf; if (unlikely(ielen < 16)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -5074,7 +5107,7 @@ uint32_t dot11f_unpack_ie_ht_info(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_ht_info. */ -#define SigIeHTInfo (0x003f) +#define SigIeHTInfo (0x0040) uint32_t dot11f_unpack_ie_link_identifier(tpAniSirGlobal pCtx, @@ -5114,7 +5147,7 @@ uint32_t dot11f_unpack_ie_link_identifier(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_link_identifier. */ -#define SigIeLinkIdentifier (0x0040) +#define SigIeLinkIdentifier (0x0041) static const tTLVDefn TLVS_MBO_IE[] = { @@ -5177,7 +5210,7 @@ uint32_t dot11f_unpack_ie_MBO_IE(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_MBO_IE. */ -#define SigIeMBO_IE (0x0041) +#define SigIeMBO_IE (0x0042) static const tFFDefn FFS_reportBeacon[] = { @@ -5205,6 +5238,18 @@ static const tIEDefn IES_reportBeacon[] = { {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, }, }; +static const tFFDefn FFS_reportsta_stats[] = { + { NULL, 0, 0, 0,}, +}; + +static const tIEDefn IES_reportsta_stats[] = { + { offsetof(tDot11fIEMeasurementReport, + report.sta_stats.reporting_reason), offsetof(tDot11fIEreporting_reason, + present), 0, "reporting_reason", 0, 3, 3, SigIereporting_reason, + {0, 0, 0, 0, 0}, 0, DOT11F_EID_REPORTING_REASON, 0, 0, }, + {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, }, +}; + uint32_t dot11f_unpack_ie_measurement_report(tpAniSirGlobal pCtx, uint8_t *pBuf, uint8_t ielen, @@ -5212,9 +5257,9 @@ uint32_t dot11f_unpack_ie_measurement_report(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp52__; uint8_t tmp53__; uint8_t tmp54__; + uint8_t tmp55__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -5232,13 +5277,13 @@ uint32_t dot11f_unpack_ie_measurement_report(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp52__ = *pBuf; + tmp53__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->late = tmp52__ >> 0 & 0x1; - pDst->incapable = tmp52__ >> 1 & 0x1; - pDst->refused = tmp52__ >> 2 & 0x1; - pDst->unused = tmp52__ >> 3 & 0x1f; + pDst->late = tmp53__ >> 0 & 0x1; + pDst->incapable = tmp53__ >> 1 & 0x1; + pDst->refused = tmp53__ >> 2 & 0x1; + pDst->unused = tmp53__ >> 3 & 0x1f; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -5281,15 +5326,15 @@ uint32_t dot11f_unpack_ie_measurement_report(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp53__ = *pBuf; + tmp54__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->report.Basic.bss = tmp53__ >> 0 & 0x1; - pDst->report.Basic.ofdm_preamble = tmp53__ >> 1 & 0x1; - pDst->report.Basic.unid_signal = tmp53__ >> 2 & 0x1; - pDst->report.Basic.rader = tmp53__ >> 3 & 0x1; - pDst->report.Basic.unmeasured = tmp53__ >> 4 & 0x1; - pDst->report.Basic.unused = tmp53__ >> 5 & 0x7; + pDst->report.Basic.bss = tmp54__ >> 0 & 0x1; + pDst->report.Basic.ofdm_preamble = tmp54__ >> 1 & 0x1; + pDst->report.Basic.unid_signal = tmp54__ >> 2 & 0x1; + pDst->report.Basic.rader = tmp54__ >> 3 & 0x1; + pDst->report.Basic.unmeasured = tmp54__ >> 4 & 0x1; + pDst->report.Basic.unused = tmp54__ >> 5 & 0x7; break; case 1: if (unlikely(ielen < 1)) { @@ -5453,11 +5498,11 @@ uint32_t dot11f_unpack_ie_measurement_report(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp54__ = *pBuf; + tmp55__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->report.Beacon.condensed_PHY = tmp54__ >> 0 & 0x7f; - pDst->report.Beacon.reported_frame_type = tmp54__ >> 7 & 0x1; + pDst->report.Beacon.condensed_PHY = tmp55__ >> 0 & 0x7f; + pDst->report.Beacon.reported_frame_type = tmp55__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -5506,13 +5551,312 @@ uint32_t dot11f_unpack_ie_measurement_report(tpAniSirGlobal pCtx, (uint8_t *)pDst, sizeof(*pDst), append_ie); break; + case 7: + if (unlikely(ielen < 2)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohs(pCtx, &pDst->report.sta_stats.meas_duration, pBuf, 0); + pBuf += 2; + ielen -= (uint8_t)2; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + pDst->report.sta_stats.group_id = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + switch (pDst->report.sta_stats.group_id) { + case 0: + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_counter_stats.transmitted_fragment_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_counter_stats.group_transmitted_frame_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_counter_stats.failed_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_counter_stats.received_fragment_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_counter_stats.group_received_frame_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_counter_stats.fcs_error_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_counter_stats.transmitted_frame_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + break; + case 1: + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_mac_stats.retry_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_mac_stats.multiple_retry_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_mac_stats.frame_duplicate_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_mac_stats.rts_success_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_mac_stats.rts_failure_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_mac_stats.ack_failure_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + break; + case 2: + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_transmitted_fragment_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_failed_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_retry_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_multiple_retry_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_frame_duplicate_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_rts_success_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_rts_failure_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_ack_failure_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_received_fragment_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_transmitted_frame_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_discarded_frame_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_mpdus_received_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_retries_received_count, pBuf, 0); + pBuf += 4; + ielen -= (uint8_t)4; + break; + case 10: + if (unlikely(ielen < 2)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohs(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.ap_average_access_delay, pBuf, 0); + pBuf += 2; + ielen -= (uint8_t)2; + if (unlikely(ielen < 2)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohs(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.average_access_delay_besteffort, pBuf, 0); + pBuf += 2; + ielen -= (uint8_t)2; + if (unlikely(ielen < 2)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohs(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.average_access_delay_background, pBuf, 0); + pBuf += 2; + ielen -= (uint8_t)2; + if (unlikely(ielen < 2)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohs(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.average_access_delay_video, pBuf, 0); + pBuf += 2; + ielen -= (uint8_t)2; + if (unlikely(ielen < 2)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohs(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.average_access_delay_voice, pBuf, 0); + pBuf += 2; + ielen -= (uint8_t)2; + if (unlikely(ielen < 2)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohs(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.station_count, pBuf, 0); + pBuf += 2; + ielen -= (uint8_t)2; + if (unlikely(ielen < 2)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohs(pCtx, &pDst->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.channel_utilization, pBuf, 0); + pBuf += 2; + ielen -= (uint8_t)2; + break; + } + status |= unpack_core(pCtx, + pBuf, + ielen, + FFS_reportsta_stats, + IES_reportsta_stats, + (uint8_t *)pDst, + sizeof(*pDst), append_ie); + break; } } (void)pCtx; return status; } /* End dot11f_unpack_ie_measurement_report. */ -#define SigIeMeasurementReport (0x0042) +#define SigIeMeasurementReport (0x0043) static const tFFDefn FFS_measurement_requestBeacon[] = { @@ -5598,7 +5942,7 @@ uint32_t dot11f_unpack_ie_measurement_request(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp55__; + uint8_t tmp56__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -5616,15 +5960,15 @@ uint32_t dot11f_unpack_ie_measurement_request(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp55__ = *pBuf; + tmp56__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->parallel = tmp55__ >> 0 & 0x1; - pDst->enable = tmp55__ >> 1 & 0x1; - pDst->request = tmp55__ >> 2 & 0x1; - pDst->report = tmp55__ >> 3 & 0x1; - pDst->durationMandatory = tmp55__ >> 4 & 0x1; - pDst->unused = tmp55__ >> 5 & 0x7; + pDst->parallel = tmp56__ >> 0 & 0x1; + pDst->enable = tmp56__ >> 1 & 0x1; + pDst->request = tmp56__ >> 2 & 0x1; + pDst->report = tmp56__ >> 3 & 0x1; + pDst->durationMandatory = tmp56__ >> 4 & 0x1; + pDst->unused = tmp56__ >> 5 & 0x7; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -5816,7 +6160,7 @@ uint32_t dot11f_unpack_ie_measurement_request(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_measurement_request. */ -#define SigIeMeasurementRequest (0x0043) +#define SigIeMeasurementRequest (0x0044) uint32_t dot11f_unpack_ie_mobility_domain(tpAniSirGlobal pCtx, @@ -5826,7 +6170,7 @@ uint32_t dot11f_unpack_ie_mobility_domain(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp56__; + uint8_t tmp57__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -5844,15 +6188,15 @@ uint32_t dot11f_unpack_ie_mobility_domain(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp56__ = *pBuf; - pDst->overDSCap = tmp56__ >> 0 & 0x1; - pDst->resourceReqCap = tmp56__ >> 1 & 0x1; - pDst->reserved = tmp56__ >> 2 & 0x3f; + tmp57__ = *pBuf; + pDst->overDSCap = tmp57__ >> 0 & 0x1; + pDst->resourceReqCap = tmp57__ >> 1 & 0x1; + pDst->reserved = tmp57__ >> 2 & 0x3f; (void)pCtx; return status; } /* End dot11f_unpack_ie_mobility_domain. */ -#define SigIeMobilityDomain (0x0044) +#define SigIeMobilityDomain (0x0045) static const tFFDefn FFS_NeighborReport[] = { @@ -5889,8 +6233,8 @@ uint32_t dot11f_unpack_ie_neighbor_report(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp57__; uint8_t tmp58__; + uint8_t tmp59__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -5908,28 +6252,28 @@ uint32_t dot11f_unpack_ie_neighbor_report(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp57__ = *pBuf; + tmp58__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->APReachability = tmp57__ >> 0 & 0x3; - pDst->Security = tmp57__ >> 2 & 0x1; - pDst->KeyScope = tmp57__ >> 3 & 0x1; - pDst->SpecMgmtCap = tmp57__ >> 4 & 0x1; - pDst->QosCap = tmp57__ >> 5 & 0x1; - pDst->apsd = tmp57__ >> 6 & 0x1; - pDst->rrm = tmp57__ >> 7 & 0x1; + pDst->APReachability = tmp58__ >> 0 & 0x3; + pDst->Security = tmp58__ >> 2 & 0x1; + pDst->KeyScope = tmp58__ >> 3 & 0x1; + pDst->SpecMgmtCap = tmp58__ >> 4 & 0x1; + pDst->QosCap = tmp58__ >> 5 & 0x1; + pDst->apsd = tmp58__ >> 6 & 0x1; + pDst->rrm = tmp58__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp58__ = *pBuf; + tmp59__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->DelayedBA = tmp58__ >> 0 & 0x1; - pDst->ImmBA = tmp58__ >> 1 & 0x1; - pDst->MobilityDomain = tmp58__ >> 2 & 0x1; - pDst->reserved = tmp58__ >> 3 & 0x1f; + pDst->DelayedBA = tmp59__ >> 0 & 0x1; + pDst->ImmBA = tmp59__ >> 1 & 0x1; + pDst->MobilityDomain = tmp59__ >> 2 & 0x1; + pDst->reserved = tmp59__ >> 3 & 0x1f; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -5974,7 +6318,7 @@ uint32_t dot11f_unpack_ie_neighbor_report(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_neighbor_report. */ -#define SigIeNeighborReport (0x0045) +#define SigIeNeighborReport (0x0046) uint32_t dot11f_unpack_ie_obss_scan_parameters(tpAniSirGlobal pCtx, @@ -6046,7 +6390,7 @@ uint32_t dot11f_unpack_ie_obss_scan_parameters(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_obss_scan_parameters. */ -#define SigIeOBSSScanParameters (0x0046) +#define SigIeOBSSScanParameters (0x0047) uint32_t dot11f_unpack_ie_operating_mode(tpAniSirGlobal pCtx, @@ -6056,7 +6400,7 @@ uint32_t dot11f_unpack_ie_operating_mode(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp59__; + uint8_t tmp60__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -6066,17 +6410,17 @@ uint32_t dot11f_unpack_ie_operating_mode(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp59__ = *pBuf; - pDst->chanWidth = tmp59__ >> 0 & 0x3; - pDst->vht_160_80p80_supp = tmp59__ >> 2 & 0x1; - pDst->no_ldpc = tmp59__ >> 3 & 0x1; - pDst->rxNSS = tmp59__ >> 4 & 0x7; - pDst->rxNSSType = tmp59__ >> 7 & 0x1; + tmp60__ = *pBuf; + pDst->chanWidth = tmp60__ >> 0 & 0x3; + pDst->vht_160_80p80_supp = tmp60__ >> 2 & 0x1; + pDst->no_ldpc = tmp60__ >> 3 & 0x1; + pDst->rxNSS = tmp60__ >> 4 & 0x7; + pDst->rxNSSType = tmp60__ >> 7 & 0x1; (void)pCtx; return status; } /* End dot11f_unpack_ie_operating_mode. */ -#define SigIeOperatingMode (0x0047) +#define SigIeOperatingMode (0x0048) static const tTLVDefn TLVS_P2PAssocReq[] = { @@ -6108,7 +6452,7 @@ uint32_t dot11f_unpack_ie_p2_p_assoc_req(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_assoc_req. */ -#define SigIeP2PAssocReq (0x0048) +#define SigIeP2PAssocReq (0x0049) static const tTLVDefn TLVS_P2PAssocRes[] = { @@ -6137,7 +6481,7 @@ uint32_t dot11f_unpack_ie_p2_p_assoc_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_assoc_res. */ -#define SigIeP2PAssocRes (0x0049) +#define SigIeP2PAssocRes (0x004a) static const tTLVDefn TLVS_P2PBeacon[] = { @@ -6169,7 +6513,7 @@ uint32_t dot11f_unpack_ie_p2_p_beacon(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_beacon. */ -#define SigIeP2PBeacon (0x004a) +#define SigIeP2PBeacon (0x004b) static const tTLVDefn TLVS_P2PBeaconProbeRes[] = { @@ -6211,7 +6555,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 (0x004b) +#define SigIeP2PBeaconProbeRes (0x004c) static const tTLVDefn TLVS_P2PDeAuth[] = { @@ -6237,7 +6581,7 @@ uint32_t dot11f_unpack_ie_p2_p_de_auth(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_de_auth. */ -#define SigIeP2PDeAuth (0x004c) +#define SigIeP2PDeAuth (0x004d) static const tTLVDefn TLVS_P2PDisAssoc[] = { @@ -6263,7 +6607,7 @@ uint32_t dot11f_unpack_ie_p2_p_dis_assoc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_dis_assoc. */ -#define SigIeP2PDisAssoc (0x004d) +#define SigIeP2PDisAssoc (0x004e) uint32_t dot11f_unpack_ie_p2_pie_opaque(tpAniSirGlobal pCtx, @@ -6288,7 +6632,7 @@ uint32_t dot11f_unpack_ie_p2_pie_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_pie_opaque. */ -#define SigIeP2PIEOpaque (0x004e) +#define SigIeP2PIEOpaque (0x004f) static const tTLVDefn TLVS_P2PProbeReq[] = { @@ -6327,7 +6671,7 @@ uint32_t dot11f_unpack_ie_p2_p_probe_req(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_probe_req. */ -#define SigIeP2PProbeReq (0x004f) +#define SigIeP2PProbeReq (0x0050) static const tTLVDefn TLVS_P2PProbeRes[] = { @@ -6366,7 +6710,7 @@ uint32_t dot11f_unpack_ie_p2_p_probe_res(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_p2_p_probe_res. */ -#define SigIeP2PProbeRes (0x0050) +#define SigIeP2PProbeRes (0x0051) uint32_t dot11f_unpack_ie_pti_control(tpAniSirGlobal pCtx, @@ -6398,7 +6742,7 @@ uint32_t dot11f_unpack_ie_pti_control(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_pti_control. */ -#define SigIePTIControl (0x0051) +#define SigIePTIControl (0x0052) uint32_t dot11f_unpack_ie_pu_buffer_status(tpAniSirGlobal pCtx, @@ -6408,7 +6752,7 @@ uint32_t dot11f_unpack_ie_pu_buffer_status(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp60__; + uint8_t tmp61__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -6418,17 +6762,17 @@ uint32_t dot11f_unpack_ie_pu_buffer_status(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp60__ = *pBuf; - pDst->ac_bk_traffic_aval = tmp60__ >> 0 & 0x1; - pDst->ac_be_traffic_aval = tmp60__ >> 1 & 0x1; - pDst->ac_vi_traffic_aval = tmp60__ >> 2 & 0x1; - pDst->ac_vo_traffic_aval = tmp60__ >> 3 & 0x1; - pDst->reserved = tmp60__ >> 4 & 0xf; + tmp61__ = *pBuf; + pDst->ac_bk_traffic_aval = tmp61__ >> 0 & 0x1; + pDst->ac_be_traffic_aval = tmp61__ >> 1 & 0x1; + pDst->ac_vi_traffic_aval = tmp61__ >> 2 & 0x1; + pDst->ac_vo_traffic_aval = tmp61__ >> 3 & 0x1; + pDst->reserved = tmp61__ >> 4 & 0xf; (void)pCtx; return status; } /* End dot11f_unpack_ie_pu_buffer_status. */ -#define SigIePUBufferStatus (0x0052) +#define SigIePUBufferStatus (0x0053) uint32_t dot11f_unpack_ie_power_caps(tpAniSirGlobal pCtx, @@ -6460,7 +6804,7 @@ uint32_t dot11f_unpack_ie_power_caps(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_power_caps. */ -#define SigIePowerCaps (0x0053) +#define SigIePowerCaps (0x0054) uint32_t dot11f_unpack_ie_power_constraints(tpAniSirGlobal pCtx, @@ -6484,7 +6828,7 @@ uint32_t dot11f_unpack_ie_power_constraints(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_power_constraints. */ -#define SigIePowerConstraints (0x0054) +#define SigIePowerConstraints (0x0055) uint32_t dot11f_unpack_ie_qbss_load(tpAniSirGlobal pCtx, @@ -6524,7 +6868,7 @@ uint32_t dot11f_unpack_ie_qbss_load(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qbss_load. */ -#define SigIeQBSSLoad (0x0055) +#define SigIeQBSSLoad (0x0056) uint32_t dot11f_unpack_ie_QComVendorIE(tpAniSirGlobal pCtx, @@ -6556,7 +6900,7 @@ uint32_t dot11f_unpack_ie_QComVendorIE(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_QComVendorIE. */ -#define SigIeQComVendorIE (0x0056) +#define SigIeQComVendorIE (0x0057) uint32_t dot11f_unpack_ie_qos_caps_ap(tpAniSirGlobal pCtx, @@ -6564,36 +6908,6 @@ uint32_t dot11f_unpack_ie_qos_caps_ap(tpAniSirGlobal pCtx, uint8_t ielen, tDot11fIEQOSCapsAp *pDst, bool append_ie) -{ - uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp61__; - (void) pBuf; (void)ielen; /* Shutup the compiler */ - if (pDst->present) - return DOT11F_DUPLICATE_IE; - pDst->present = 1; - if (unlikely(ielen < 1)) { - pDst->present = 0; - return DOT11F_INCOMPLETE_IE; - } - - tmp61__ = *pBuf; - pDst->count = tmp61__ >> 0 & 0xf; - pDst->qack = tmp61__ >> 4 & 0x1; - pDst->qreq = tmp61__ >> 5 & 0x1; - pDst->txopreq = tmp61__ >> 6 & 0x1; - pDst->reserved = tmp61__ >> 7 & 0x1; - (void)pCtx; - return status; -} /* End dot11f_unpack_ie_qos_caps_ap. */ - -#define SigIeQOSCapsAp (0x0057) - - -uint32_t dot11f_unpack_ie_qos_caps_station(tpAniSirGlobal pCtx, - uint8_t *pBuf, - uint8_t ielen, - tDot11fIEQOSCapsStation *pDst, - bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; uint8_t tmp62__; @@ -6607,18 +6921,48 @@ uint32_t dot11f_unpack_ie_qos_caps_station(tpAniSirGlobal pCtx, } tmp62__ = *pBuf; - pDst->acvo_uapsd = tmp62__ >> 0 & 0x1; - pDst->acvi_uapsd = tmp62__ >> 1 & 0x1; - pDst->acbk_uapsd = tmp62__ >> 2 & 0x1; - pDst->acbe_uapsd = tmp62__ >> 3 & 0x1; + pDst->count = tmp62__ >> 0 & 0xf; pDst->qack = tmp62__ >> 4 & 0x1; - pDst->max_sp_length = tmp62__ >> 5 & 0x3; - pDst->more_data_ack = tmp62__ >> 7 & 0x1; + pDst->qreq = tmp62__ >> 5 & 0x1; + pDst->txopreq = tmp62__ >> 6 & 0x1; + pDst->reserved = tmp62__ >> 7 & 0x1; + (void)pCtx; + return status; +} /* End dot11f_unpack_ie_qos_caps_ap. */ + +#define SigIeQOSCapsAp (0x0058) + + +uint32_t dot11f_unpack_ie_qos_caps_station(tpAniSirGlobal pCtx, + uint8_t *pBuf, + uint8_t ielen, + tDot11fIEQOSCapsStation *pDst, + bool append_ie) +{ + uint32_t status = DOT11F_PARSE_SUCCESS; + uint8_t tmp63__; + (void) pBuf; (void)ielen; /* Shutup the compiler */ + if (pDst->present) + return DOT11F_DUPLICATE_IE; + pDst->present = 1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + tmp63__ = *pBuf; + pDst->acvo_uapsd = tmp63__ >> 0 & 0x1; + pDst->acvi_uapsd = tmp63__ >> 1 & 0x1; + pDst->acbk_uapsd = tmp63__ >> 2 & 0x1; + pDst->acbe_uapsd = tmp63__ >> 3 & 0x1; + pDst->qack = tmp63__ >> 4 & 0x1; + pDst->max_sp_length = tmp63__ >> 5 & 0x3; + pDst->more_data_ack = tmp63__ >> 7 & 0x1; (void)pCtx; return status; } /* End dot11f_unpack_ie_qos_caps_station. */ -#define SigIeQOSCapsStation (0x0058) +#define SigIeQOSCapsStation (0x0059) uint32_t dot11f_unpack_ie_qos_map_set(tpAniSirGlobal pCtx, @@ -6643,7 +6987,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 (0x005a) uint32_t dot11f_unpack_ie_quiet(tpAniSirGlobal pCtx, @@ -6691,7 +7035,7 @@ uint32_t dot11f_unpack_ie_quiet(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_quiet. */ -#define SigIeQuiet (0x005a) +#define SigIeQuiet (0x005b) uint32_t dot11f_unpack_ie_rcpiie(tpAniSirGlobal pCtx, @@ -6715,7 +7059,7 @@ uint32_t dot11f_unpack_ie_rcpiie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rcpiie. */ -#define SigIeRCPIIE (0x005b) +#define SigIeRCPIIE (0x005c) static const tFFDefn FFS_RICDataDesc[] = { @@ -6791,7 +7135,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 (0x005d) uint32_t dot11f_unpack_ie_rsn(tpAniSirGlobal pCtx, @@ -6966,7 +7310,7 @@ uint32_t dot11f_unpack_ie_rsn(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rsn. */ -#define SigIeRSN (0x005d) +#define SigIeRSN (0x005e) uint32_t dot11f_unpack_ie_rsniie(tpAniSirGlobal pCtx, @@ -6990,7 +7334,7 @@ uint32_t dot11f_unpack_ie_rsniie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rsniie. */ -#define SigIeRSNIIE (0x005e) +#define SigIeRSNIIE (0x005f) uint32_t dot11f_unpack_ie_rsn_opaque(tpAniSirGlobal pCtx, @@ -7015,7 +7359,7 @@ uint32_t dot11f_unpack_ie_rsn_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_rsn_opaque. */ -#define SigIeRSNOpaque (0x005f) +#define SigIeRSNOpaque (0x0060) uint32_t dot11f_unpack_ie_supp_channels(tpAniSirGlobal pCtx, @@ -7040,7 +7384,7 @@ uint32_t dot11f_unpack_ie_supp_channels(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_supp_channels. */ -#define SigIeSuppChannels (0x0060) +#define SigIeSuppChannels (0x0061) uint32_t dot11f_unpack_ie_supp_operating_classes(tpAniSirGlobal pCtx, @@ -7065,7 +7409,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 (0x0062) uint32_t dot11f_unpack_ie_supp_rates(tpAniSirGlobal pCtx, @@ -7098,7 +7442,7 @@ uint32_t dot11f_unpack_ie_supp_rates(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_supp_rates. */ -#define SigIeSuppRates (0x0062) +#define SigIeSuppRates (0x0063) uint32_t dot11f_unpack_ie_tim(tpAniSirGlobal pCtx, @@ -7147,7 +7491,7 @@ uint32_t dot11f_unpack_ie_tim(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tim. */ -#define SigIeTIM (0x0063) +#define SigIeTIM (0x0064) uint32_t dot11f_unpack_ie_tpc_report(tpAniSirGlobal pCtx, @@ -7179,7 +7523,7 @@ uint32_t dot11f_unpack_ie_tpc_report(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tpc_report. */ -#define SigIeTPCReport (0x0064) +#define SigIeTPCReport (0x0065) uint32_t dot11f_unpack_ie_tpc_request(tpAniSirGlobal pCtx, @@ -7197,7 +7541,7 @@ uint32_t dot11f_unpack_ie_tpc_request(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_tpc_request. */ -#define SigIeTPCRequest (0x0065) +#define SigIeTPCRequest (0x0066) uint32_t dot11f_unpack_ie_time_advertisement(tpAniSirGlobal pCtx, @@ -7237,7 +7581,7 @@ uint32_t dot11f_unpack_ie_time_advertisement(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_time_advertisement. */ -#define SigIeTimeAdvertisement (0x0066) +#define SigIeTimeAdvertisement (0x0067) uint32_t dot11f_unpack_ie_timeout_interval(tpAniSirGlobal pCtx, @@ -7269,7 +7613,7 @@ uint32_t dot11f_unpack_ie_timeout_interval(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_timeout_interval. */ -#define SigIeTimeoutInterval (0x0067) +#define SigIeTimeoutInterval (0x0068) uint32_t dot11f_unpack_ie_vht_ext_bss_load(tpAniSirGlobal pCtx, @@ -7325,7 +7669,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 (0x0069) uint32_t dot11f_unpack_ie_vendor1_ie(tpAniSirGlobal pCtx, @@ -7343,7 +7687,7 @@ uint32_t dot11f_unpack_ie_vendor1_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor1_ie. */ -#define SigIeVendor1IE (0x0069) +#define SigIeVendor1IE (0x006a) uint32_t dot11f_unpack_ie_vendor3_ie(tpAniSirGlobal pCtx, @@ -7361,7 +7705,7 @@ uint32_t dot11f_unpack_ie_vendor3_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor3_ie. */ -#define SigIeVendor3IE (0x006a) +#define SigIeVendor3IE (0x006b) uint32_t dot11f_unpack_ie_wapi(tpAniSirGlobal pCtx, @@ -7371,7 +7715,7 @@ uint32_t dot11f_unpack_ie_wapi(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint16_t tmp63__; + uint16_t tmp64__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -7443,11 +7787,11 @@ uint32_t dot11f_unpack_ie_wapi(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp63__, pBuf, 0); + framesntohs(pCtx, &tmp64__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->preauth = tmp63__ >> 0 & 0x1; - pDst->reserved = tmp63__ >> 1 & 0x7fff; + pDst->preauth = tmp64__ >> 0 & 0x1; + pDst->reserved = tmp64__ >> 1 & 0x7fff; if (!ielen) { pDst->bkid_count = 0U; return 0U; @@ -7476,7 +7820,7 @@ uint32_t dot11f_unpack_ie_wapi(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wapi. */ -#define SigIeWAPI (0x006b) +#define SigIeWAPI (0x006c) uint32_t dot11f_unpack_ie_wapi_opaque(tpAniSirGlobal pCtx, @@ -7501,7 +7845,7 @@ uint32_t dot11f_unpack_ie_wapi_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wapi_opaque. */ -#define SigIeWAPIOpaque (0x006c) +#define SigIeWAPIOpaque (0x006d) uint32_t dot11f_unpack_ie_wfatpc(tpAniSirGlobal pCtx, @@ -7533,7 +7877,7 @@ uint32_t dot11f_unpack_ie_wfatpc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wfatpc. */ -#define SigIeWFATPC (0x006d) +#define SigIeWFATPC (0x006e) uint32_t dot11f_unpack_ie_wfdie_opaque(tpAniSirGlobal pCtx, @@ -7558,7 +7902,7 @@ uint32_t dot11f_unpack_ie_wfdie_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wfdie_opaque. */ -#define SigIeWFDIEOpaque (0x006e) +#define SigIeWFDIEOpaque (0x006f) uint32_t dot11f_unpack_ie_wmm_caps(tpAniSirGlobal pCtx, @@ -7568,7 +7912,7 @@ uint32_t dot11f_unpack_ie_wmm_caps(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp64__; + uint8_t tmp65__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -7590,17 +7934,17 @@ uint32_t dot11f_unpack_ie_wmm_caps(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp64__ = *pBuf; - pDst->reserved = tmp64__ >> 0 & 0xf; - pDst->qack = tmp64__ >> 4 & 0x1; - pDst->queue_request = tmp64__ >> 5 & 0x1; - pDst->txop_request = tmp64__ >> 6 & 0x1; - pDst->more_ack = tmp64__ >> 7 & 0x1; + tmp65__ = *pBuf; + pDst->reserved = tmp65__ >> 0 & 0xf; + pDst->qack = tmp65__ >> 4 & 0x1; + pDst->queue_request = tmp65__ >> 5 & 0x1; + pDst->txop_request = tmp65__ >> 6 & 0x1; + pDst->more_ack = tmp65__ >> 7 & 0x1; (void)pCtx; return status; } /* End dot11f_unpack_ie_wmm_caps. */ -#define SigIeWMMCaps (0x006f) +#define SigIeWMMCaps (0x0070) uint32_t dot11f_unpack_ie_wmm_info_ap(tpAniSirGlobal pCtx, @@ -7608,42 +7952,6 @@ uint32_t dot11f_unpack_ie_wmm_info_ap(tpAniSirGlobal pCtx, uint8_t ielen, tDot11fIEWMMInfoAp *pDst, bool append_ie) -{ - uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp65__; - (void) pBuf; (void)ielen; /* Shutup the compiler */ - if (pDst->present) - return DOT11F_DUPLICATE_IE; - pDst->present = 1; - if (unlikely(ielen < 1)) { - pDst->present = 0; - return DOT11F_INCOMPLETE_IE; - } - - pDst->version = *pBuf; - pBuf += 1; - ielen -= (uint8_t)1; - if (unlikely(ielen < 1)) { - pDst->present = 0; - return DOT11F_INCOMPLETE_IE; - } - - tmp65__ = *pBuf; - pDst->param_set_count = tmp65__ >> 0 & 0xf; - pDst->reserved = tmp65__ >> 4 & 0x7; - pDst->uapsd = tmp65__ >> 7 & 0x1; - (void)pCtx; - return status; -} /* End dot11f_unpack_ie_wmm_info_ap. */ - -#define SigIeWMMInfoAp (0x0070) - - -uint32_t dot11f_unpack_ie_wmm_info_station(tpAniSirGlobal pCtx, - uint8_t *pBuf, - uint8_t ielen, - tDot11fIEWMMInfoStation *pDst, - bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; uint8_t tmp66__; @@ -7665,18 +7973,54 @@ uint32_t dot11f_unpack_ie_wmm_info_station(tpAniSirGlobal pCtx, } tmp66__ = *pBuf; - pDst->acvo_uapsd = tmp66__ >> 0 & 0x1; - pDst->acvi_uapsd = tmp66__ >> 1 & 0x1; - pDst->acbk_uapsd = tmp66__ >> 2 & 0x1; - pDst->acbe_uapsd = tmp66__ >> 3 & 0x1; - pDst->reserved1 = tmp66__ >> 4 & 0x1; - pDst->max_sp_length = tmp66__ >> 5 & 0x3; - pDst->reserved2 = tmp66__ >> 7 & 0x1; + pDst->param_set_count = tmp66__ >> 0 & 0xf; + pDst->reserved = tmp66__ >> 4 & 0x7; + pDst->uapsd = tmp66__ >> 7 & 0x1; + (void)pCtx; + return status; +} /* End dot11f_unpack_ie_wmm_info_ap. */ + +#define SigIeWMMInfoAp (0x0071) + + +uint32_t dot11f_unpack_ie_wmm_info_station(tpAniSirGlobal pCtx, + uint8_t *pBuf, + uint8_t ielen, + tDot11fIEWMMInfoStation *pDst, + bool append_ie) +{ + uint32_t status = DOT11F_PARSE_SUCCESS; + uint8_t tmp67__; + (void) pBuf; (void)ielen; /* Shutup the compiler */ + if (pDst->present) + return DOT11F_DUPLICATE_IE; + pDst->present = 1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + pDst->version = *pBuf; + pBuf += 1; + ielen -= (uint8_t)1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + tmp67__ = *pBuf; + pDst->acvo_uapsd = tmp67__ >> 0 & 0x1; + pDst->acvi_uapsd = tmp67__ >> 1 & 0x1; + pDst->acbk_uapsd = tmp67__ >> 2 & 0x1; + pDst->acbe_uapsd = tmp67__ >> 3 & 0x1; + pDst->reserved1 = tmp67__ >> 4 & 0x1; + pDst->max_sp_length = tmp67__ >> 5 & 0x3; + pDst->reserved2 = tmp67__ >> 7 & 0x1; (void)pCtx; return status; } /* End dot11f_unpack_ie_wmm_info_station. */ -#define SigIeWMMInfoStation (0x0071) +#define SigIeWMMInfoStation (0x0072) uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, @@ -7686,7 +8030,6 @@ uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp67__; uint8_t tmp68__; uint8_t tmp69__; uint8_t tmp70__; @@ -7694,6 +8037,7 @@ uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, uint8_t tmp72__; uint8_t tmp73__; uint8_t tmp74__; + uint8_t tmp75__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -7731,23 +8075,23 @@ uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp67__ = *pBuf; + tmp68__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbe_aifsn = tmp67__ >> 0 & 0xf; - pDst->acbe_acm = tmp67__ >> 4 & 0x1; - pDst->acbe_aci = tmp67__ >> 5 & 0x3; - pDst->unused1 = tmp67__ >> 7 & 0x1; + pDst->acbe_aifsn = tmp68__ >> 0 & 0xf; + pDst->acbe_acm = tmp68__ >> 4 & 0x1; + pDst->acbe_aci = tmp68__ >> 5 & 0x3; + pDst->unused1 = tmp68__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp68__ = *pBuf; + tmp69__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbe_acwmin = tmp68__ >> 0 & 0xf; - pDst->acbe_acwmax = tmp68__ >> 4 & 0xf; + pDst->acbe_acwmin = tmp69__ >> 0 & 0xf; + pDst->acbe_acwmax = tmp69__ >> 4 & 0xf; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -7761,23 +8105,23 @@ uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp69__ = *pBuf; + tmp70__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbk_aifsn = tmp69__ >> 0 & 0xf; - pDst->acbk_acm = tmp69__ >> 4 & 0x1; - pDst->acbk_aci = tmp69__ >> 5 & 0x3; - pDst->unused2 = tmp69__ >> 7 & 0x1; + pDst->acbk_aifsn = tmp70__ >> 0 & 0xf; + pDst->acbk_acm = tmp70__ >> 4 & 0x1; + pDst->acbk_aci = tmp70__ >> 5 & 0x3; + pDst->unused2 = tmp70__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp70__ = *pBuf; + tmp71__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbk_acwmin = tmp70__ >> 0 & 0xf; - pDst->acbk_acwmax = tmp70__ >> 4 & 0xf; + pDst->acbk_acwmin = tmp71__ >> 0 & 0xf; + pDst->acbk_acwmax = tmp71__ >> 4 & 0xf; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -7791,23 +8135,23 @@ uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp71__ = *pBuf; + tmp72__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvi_aifsn = tmp71__ >> 0 & 0xf; - pDst->acvi_acm = tmp71__ >> 4 & 0x1; - pDst->acvi_aci = tmp71__ >> 5 & 0x3; - pDst->unused3 = tmp71__ >> 7 & 0x1; + pDst->acvi_aifsn = tmp72__ >> 0 & 0xf; + pDst->acvi_acm = tmp72__ >> 4 & 0x1; + pDst->acvi_aci = tmp72__ >> 5 & 0x3; + pDst->unused3 = tmp72__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp72__ = *pBuf; + tmp73__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvi_acwmin = tmp72__ >> 0 & 0xf; - pDst->acvi_acwmax = tmp72__ >> 4 & 0xf; + pDst->acvi_acwmin = tmp73__ >> 0 & 0xf; + pDst->acvi_acwmax = tmp73__ >> 4 & 0xf; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -7821,23 +8165,23 @@ uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp73__ = *pBuf; + tmp74__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvo_aifsn = tmp73__ >> 0 & 0xf; - pDst->acvo_acm = tmp73__ >> 4 & 0x1; - pDst->acvo_aci = tmp73__ >> 5 & 0x3; - pDst->unused4 = tmp73__ >> 7 & 0x1; + pDst->acvo_aifsn = tmp74__ >> 0 & 0xf; + pDst->acvo_acm = tmp74__ >> 4 & 0x1; + pDst->acvo_aci = tmp74__ >> 5 & 0x3; + pDst->unused4 = tmp74__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp74__ = *pBuf; + tmp75__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvo_acwmin = tmp74__ >> 0 & 0xf; - pDst->acvo_acwmax = tmp74__ >> 4 & 0xf; + pDst->acvo_acwmin = tmp75__ >> 0 & 0xf; + pDst->acvo_acwmax = tmp75__ >> 4 & 0xf; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -7848,7 +8192,7 @@ uint32_t dot11f_unpack_ie_wmm_params(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wmm_params. */ -#define SigIeWMMParams (0x0072) +#define SigIeWMMParams (0x0073) uint32_t dot11f_unpack_ie_wpa(tpAniSirGlobal pCtx, @@ -7957,7 +8301,7 @@ uint32_t dot11f_unpack_ie_wpa(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wpa. */ -#define SigIeWPA (0x0073) +#define SigIeWPA (0x0074) uint32_t dot11f_unpack_ie_wpa_opaque(tpAniSirGlobal pCtx, @@ -7982,7 +8326,7 @@ uint32_t dot11f_unpack_ie_wpa_opaque(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wpa_opaque. */ -#define SigIeWPAOpaque (0x0074) +#define SigIeWPAOpaque (0x0075) static const tTLVDefn TLVS_WSC[] = { @@ -8073,7 +8417,7 @@ uint32_t dot11f_unpack_ie_wsc(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc. */ -#define SigIeWSC (0x0075) +#define SigIeWSC (0x0076) static const tTLVDefn TLVS_WscAssocReq[] = { @@ -8105,7 +8449,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 (0x0077) static const tTLVDefn TLVS_WscAssocRes[] = { @@ -8137,7 +8481,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 (0x0078) static const tTLVDefn TLVS_WscBeacon[] = { @@ -8190,7 +8534,7 @@ uint32_t dot11f_unpack_ie_wsc_beacon(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_wsc_beacon. */ -#define SigIeWscBeacon (0x0078) +#define SigIeWscBeacon (0x0079) static const tTLVDefn TLVS_WscBeaconProbeRes[] = { @@ -8268,7 +8612,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 (0x007a) uint32_t dot11f_unpack_ie_wsc_ie_opaque(tpAniSirGlobal pCtx, @@ -8293,7 +8637,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 (0x007b) static const tTLVDefn TLVS_WscProbeReq[] = { @@ -8366,7 +8710,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 (0x007c) static const tTLVDefn TLVS_WscProbeRes[] = { @@ -8444,7 +8788,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 (0x007d) static const tTLVDefn TLVS_WscReassocRes[] = { @@ -8476,7 +8820,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 (0x007e) uint32_t dot11f_unpack_ie_addba_extn_element(tpAniSirGlobal pCtx, @@ -8486,7 +8830,7 @@ uint32_t dot11f_unpack_ie_addba_extn_element(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp75__; + uint8_t tmp76__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -8496,16 +8840,16 @@ uint32_t dot11f_unpack_ie_addba_extn_element(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp75__ = *pBuf; - pDst->no_fragmentation = tmp75__ >> 0 & 0x1; - pDst->he_frag_operation = tmp75__ >> 1 & 0x3; - pDst->reserved = tmp75__ >> 3 & 0x3; - pDst->extd_buff_size = tmp75__ >> 5 & 0x7; + tmp76__ = *pBuf; + pDst->no_fragmentation = tmp76__ >> 0 & 0x1; + pDst->he_frag_operation = tmp76__ >> 1 & 0x3; + pDst->reserved = tmp76__ >> 3 & 0x3; + pDst->extd_buff_size = tmp76__ >> 5 & 0x7; (void)pCtx; return status; } /* End dot11f_unpack_ie_addba_extn_element. */ -#define SigIeaddba_extn_element (0x007e) +#define SigIeaddba_extn_element (0x007f) uint32_t dot11f_unpack_ie_bss_color_change(tpAniSirGlobal pCtx, @@ -8515,7 +8859,7 @@ uint32_t dot11f_unpack_ie_bss_color_change(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp76__; + uint8_t tmp77__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -8533,14 +8877,14 @@ uint32_t dot11f_unpack_ie_bss_color_change(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp76__ = *pBuf; - pDst->new_color = tmp76__ >> 0 & 0x3f; - pDst->reserved = tmp76__ >> 6 & 0x3; + tmp77__ = *pBuf; + pDst->new_color = tmp77__ >> 0 & 0x3f; + pDst->reserved = tmp77__ >> 6 & 0x3; (void)pCtx; return status; } /* End dot11f_unpack_ie_bss_color_change. */ -#define SigIebss_color_change (0x007f) +#define SigIebss_color_change (0x0080) uint32_t dot11f_unpack_ie_bss_max_idle_period(tpAniSirGlobal pCtx, @@ -8550,7 +8894,7 @@ uint32_t dot11f_unpack_ie_bss_max_idle_period(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp77__; + uint8_t tmp78__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -8568,14 +8912,14 @@ uint32_t dot11f_unpack_ie_bss_max_idle_period(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp77__ = *pBuf; - pDst->prot_keep_alive_reqd = tmp77__ >> 0 & 0x1; - pDst->reserved = tmp77__ >> 1 & 0x7f; + tmp78__ = *pBuf; + pDst->prot_keep_alive_reqd = tmp78__ >> 0 & 0x1; + pDst->reserved = tmp78__ >> 1 & 0x7f; (void)pCtx; return status; } /* End dot11f_unpack_ie_bss_max_idle_period. */ -#define SigIebss_max_idle_period (0x0080) +#define SigIebss_max_idle_period (0x0081) static const tFFDefn FFS_descriptor_element[] = { @@ -8641,7 +8985,7 @@ uint32_t dot11f_unpack_ie_descriptor_element(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_descriptor_element. */ -#define SigIedescriptor_element (0x0081) +#define SigIedescriptor_element (0x0082) uint32_t dot11f_unpack_ie_dh_parameter_element(tpAniSirGlobal pCtx, @@ -8669,7 +9013,7 @@ uint32_t dot11f_unpack_ie_dh_parameter_element(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_dh_parameter_element. */ -#define SigIedh_parameter_element (0x0082) +#define SigIedh_parameter_element (0x0083) uint32_t dot11f_unpack_ie_eht_cap(tpAniSirGlobal pCtx, @@ -8679,14 +9023,14 @@ uint32_t dot11f_unpack_ie_eht_cap(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint16_t tmp78__; - uint32_t tmp79__; + uint16_t tmp79__; uint32_t tmp80__; - uint8_t tmp81__; - uint32_t tmp82__; + uint32_t tmp81__; + uint8_t tmp82__; uint32_t tmp83__; uint32_t tmp84__; - uint8_t tmp85__; + uint32_t tmp85__; + uint8_t tmp86__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -8696,50 +9040,22 @@ uint32_t dot11f_unpack_ie_eht_cap(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp78__, pBuf, 0); + framesntohs(pCtx, &tmp79__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->epcs_pri_access = tmp78__ >> 0 & 0x1; - pDst->eht_om_ctl = tmp78__ >> 1 & 0x1; - pDst->triggered_txop_sharing_mode1 = tmp78__ >> 2 & 0x1; - pDst->triggered_txop_sharing_mode2 = tmp78__ >> 3 & 0x1; - pDst->restricted_twt = tmp78__ >> 4 & 0x1; - pDst->scs_traffic_desc = tmp78__ >> 5 & 0x1; - pDst->max_mpdu_len = tmp78__ >> 6 & 0x3; - pDst->max_a_mpdu_len_exponent_ext = tmp78__ >> 8 & 0x1; - pDst->eht_trs_support = tmp78__ >> 9 & 0x1; - pDst->txop_return_support_txop_share_m2 = tmp78__ >> 10 & 0x1; - pDst->two_bqrs_support = tmp78__ >> 11 & 0x1; - pDst->eht_link_adaptation_support = tmp78__ >> 12 & 0x3; - pDst->reserved = tmp78__ >> 14 & 0x3; - 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->support_320mhz_6ghz = tmp79__ >> 1 & 0x1; - pDst->ru_242tone_wt_20mhz = tmp79__ >> 2 & 0x1; - pDst->ndp_4x_eht_ltf_3dot2_us_gi = tmp79__ >> 3 & 0x1; - pDst->partial_bw_mu_mimo = tmp79__ >> 4 & 0x1; - pDst->su_beamformer = tmp79__ >> 5 & 0x1; - pDst->su_beamformee = tmp79__ >> 6 & 0x1; - pDst->bfee_ss_le_80mhz = tmp79__ >> 7 & 0x7; - pDst->bfee_ss_160mhz = tmp79__ >> 10 & 0x7; - pDst->bfee_ss_320mhz = tmp79__ >> 13 & 0x7; - pDst->num_sounding_dim_le_80mhz = tmp79__ >> 16 & 0x7; - pDst->num_sounding_dim_160mhz = tmp79__ >> 19 & 0x7; - pDst->num_sounding_dim_320mhz = tmp79__ >> 22 & 0x7; - pDst->ng_16_su_feedback = tmp79__ >> 25 & 0x1; - pDst->ng_16_mu_feedback = tmp79__ >> 26 & 0x1; - pDst->cb_sz_4_2_su_feedback = tmp79__ >> 27 & 0x1; - pDst->cb_sz_7_5_su_feedback = tmp79__ >> 28 & 0x1; - pDst->trig_su_bforming_feedback = tmp79__ >> 29 & 0x1; - pDst->trig_mu_bforming_partial_bw_feedback = tmp79__ >> 30 & 0x1; - pDst->triggered_cqi_feedback = tmp79__ >> 31 & 0x1; + pDst->epcs_pri_access = tmp79__ >> 0 & 0x1; + pDst->eht_om_ctl = tmp79__ >> 1 & 0x1; + pDst->triggered_txop_sharing_mode1 = tmp79__ >> 2 & 0x1; + pDst->triggered_txop_sharing_mode2 = tmp79__ >> 3 & 0x1; + pDst->restricted_twt = tmp79__ >> 4 & 0x1; + pDst->scs_traffic_desc = tmp79__ >> 5 & 0x1; + pDst->max_mpdu_len = tmp79__ >> 6 & 0x3; + pDst->max_a_mpdu_len_exponent_ext = tmp79__ >> 8 & 0x1; + pDst->eht_trs_support = tmp79__ >> 9 & 0x1; + pDst->txop_return_support_txop_share_m2 = tmp79__ >> 10 & 0x1; + pDst->two_bqrs_support = tmp79__ >> 11 & 0x1; + pDst->eht_link_adaptation_support = tmp79__ >> 12 & 0x3; + pDst->reserved = tmp79__ >> 14 & 0x3; if (unlikely(ielen < 4)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -8748,57 +9064,69 @@ uint32_t dot11f_unpack_ie_eht_cap(tpAniSirGlobal pCtx, framesntohl(pCtx, &tmp80__, pBuf, 0); pBuf += 4; ielen -= 4; - pDst->partial_bw_dl_mu_mimo = tmp80__ >> 0 & 0x1; - pDst->psr_based_sr = tmp80__ >> 1 & 0x1; - pDst->power_boost_factor = tmp80__ >> 2 & 0x1; - pDst->eht_mu_ppdu_4x_ltf_0_8_us_gi = tmp80__ >> 3 & 0x1; - pDst->max_nc = tmp80__ >> 4 & 0xf; - pDst->non_trig_cqi_feedback = tmp80__ >> 8 & 0x1; - pDst->tx_1024_4096_qam_lt_242_tone_ru = tmp80__ >> 9 & 0x1; - pDst->rx_1024_4096_qam_lt_242_tone_ru = tmp80__ >> 10 & 0x1; - pDst->ppet_present = tmp80__ >> 11 & 0x1; - pDst->common_nominal_pkt_padding = tmp80__ >> 12 & 0x3; - pDst->max_num_eht_ltf = tmp80__ >> 14 & 0x1f; - pDst->mcs_15 = tmp80__ >> 19 & 0xf; - pDst->eht_dup_6ghz = tmp80__ >> 23 & 0x1; - pDst->op_sta_rx_ndp_wider_bw_20mhz = tmp80__ >> 24 & 0x1; - pDst->non_ofdma_ul_mu_mimo_le_80mhz = tmp80__ >> 25 & 0x1; - pDst->non_ofdma_ul_mu_mimo_160mhz = tmp80__ >> 26 & 0x1; - pDst->non_ofdma_ul_mu_mimo_320mhz = tmp80__ >> 27 & 0x1; - pDst->mu_bformer_le_80mhz = tmp80__ >> 28 & 0x1; - pDst->mu_bformer_160mhz = tmp80__ >> 29 & 0x1; - pDst->mu_bformer_320mhz = tmp80__ >> 30 & 0x1; - pDst->tb_sounding_feedback_rl = tmp80__ >> 31 & 0x1; - if (unlikely(ielen < 1)) { - pDst->present = 0; - return DOT11F_INCOMPLETE_IE; - } - - tmp81__ = *pBuf; - pBuf += 1; - ielen -= 1; - pDst->rx_1k_qam_in_wider_bw_dl_ofdma = tmp81__ >> 0 & 0x1; - pDst->rx_4k_qam_in_wider_bw_dl_ofdma = tmp81__ >> 1 & 0x1; - pDst->limited_cap_support_20mhz = tmp81__ >> 2 & 0x1; - pDst->triggered_mu_bf_full_bw_fb_and_dl_mumimo = tmp81__ >> 3 & 0x1; - pDst->mru_support_20mhz = tmp81__ >> 4 & 0x1; - pDst->reserved3 = tmp81__ >> 5 & 0x7; + pDst->reserved2 = tmp80__ >> 0 & 0x1; + pDst->support_320mhz_6ghz = tmp80__ >> 1 & 0x1; + pDst->ru_242tone_wt_20mhz = tmp80__ >> 2 & 0x1; + pDst->ndp_4x_eht_ltf_3dot2_us_gi = tmp80__ >> 3 & 0x1; + pDst->partial_bw_mu_mimo = tmp80__ >> 4 & 0x1; + pDst->su_beamformer = tmp80__ >> 5 & 0x1; + pDst->su_beamformee = tmp80__ >> 6 & 0x1; + pDst->bfee_ss_le_80mhz = tmp80__ >> 7 & 0x7; + pDst->bfee_ss_160mhz = tmp80__ >> 10 & 0x7; + pDst->bfee_ss_320mhz = tmp80__ >> 13 & 0x7; + pDst->num_sounding_dim_le_80mhz = tmp80__ >> 16 & 0x7; + pDst->num_sounding_dim_160mhz = tmp80__ >> 19 & 0x7; + pDst->num_sounding_dim_320mhz = tmp80__ >> 22 & 0x7; + pDst->ng_16_su_feedback = tmp80__ >> 25 & 0x1; + pDst->ng_16_mu_feedback = tmp80__ >> 26 & 0x1; + pDst->cb_sz_4_2_su_feedback = tmp80__ >> 27 & 0x1; + pDst->cb_sz_7_5_su_feedback = tmp80__ >> 28 & 0x1; + pDst->trig_su_bforming_feedback = tmp80__ >> 29 & 0x1; + pDst->trig_mu_bforming_partial_bw_feedback = tmp80__ >> 30 & 0x1; + pDst->triggered_cqi_feedback = tmp80__ >> 31 & 0x1; if (unlikely(ielen < 4)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - framesntohl(pCtx, &tmp82__, pBuf, 0); + framesntohl(pCtx, &tmp81__, pBuf, 0); pBuf += 4; ielen -= 4; - pDst->bw_20_rx_max_nss_for_mcs_0_to_7 = tmp82__ >> 0 & 0xf; - pDst->bw_20_tx_max_nss_for_mcs_0_to_7 = tmp82__ >> 4 & 0xf; - pDst->bw_20_rx_max_nss_for_mcs_8_and_9 = tmp82__ >> 8 & 0xf; - pDst->bw_20_tx_max_nss_for_mcs_8_and_9 = tmp82__ >> 12 & 0xf; - pDst->bw_20_rx_max_nss_for_mcs_10_and_11 = tmp82__ >> 16 & 0xf; - pDst->bw_20_tx_max_nss_for_mcs_10_and_11 = tmp82__ >> 20 & 0xf; - pDst->bw_20_rx_max_nss_for_mcs_12_and_13 = tmp82__ >> 24 & 0xf; - pDst->bw_20_tx_max_nss_for_mcs_12_and_13 = tmp82__ >> 28 & 0xf; + pDst->partial_bw_dl_mu_mimo = tmp81__ >> 0 & 0x1; + pDst->psr_based_sr = tmp81__ >> 1 & 0x1; + pDst->power_boost_factor = tmp81__ >> 2 & 0x1; + pDst->eht_mu_ppdu_4x_ltf_0_8_us_gi = tmp81__ >> 3 & 0x1; + pDst->max_nc = tmp81__ >> 4 & 0xf; + pDst->non_trig_cqi_feedback = tmp81__ >> 8 & 0x1; + pDst->tx_1024_4096_qam_lt_242_tone_ru = tmp81__ >> 9 & 0x1; + pDst->rx_1024_4096_qam_lt_242_tone_ru = tmp81__ >> 10 & 0x1; + pDst->ppet_present = tmp81__ >> 11 & 0x1; + pDst->common_nominal_pkt_padding = tmp81__ >> 12 & 0x3; + pDst->max_num_eht_ltf = tmp81__ >> 14 & 0x1f; + pDst->mcs_15 = tmp81__ >> 19 & 0xf; + pDst->eht_dup_6ghz = tmp81__ >> 23 & 0x1; + pDst->op_sta_rx_ndp_wider_bw_20mhz = tmp81__ >> 24 & 0x1; + pDst->non_ofdma_ul_mu_mimo_le_80mhz = tmp81__ >> 25 & 0x1; + pDst->non_ofdma_ul_mu_mimo_160mhz = tmp81__ >> 26 & 0x1; + pDst->non_ofdma_ul_mu_mimo_320mhz = tmp81__ >> 27 & 0x1; + pDst->mu_bformer_le_80mhz = tmp81__ >> 28 & 0x1; + pDst->mu_bformer_160mhz = tmp81__ >> 29 & 0x1; + pDst->mu_bformer_320mhz = tmp81__ >> 30 & 0x1; + pDst->tb_sounding_feedback_rl = tmp81__ >> 31 & 0x1; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + tmp82__ = *pBuf; + pBuf += 1; + ielen -= 1; + pDst->rx_1k_qam_in_wider_bw_dl_ofdma = tmp82__ >> 0 & 0x1; + pDst->rx_4k_qam_in_wider_bw_dl_ofdma = tmp82__ >> 1 & 0x1; + pDst->limited_cap_support_20mhz = tmp82__ >> 2 & 0x1; + pDst->triggered_mu_bf_full_bw_fb_and_dl_mumimo = tmp82__ >> 3 & 0x1; + pDst->mru_support_20mhz = tmp82__ >> 4 & 0x1; + pDst->reserved3 = tmp82__ >> 5 & 0x7; if (unlikely(ielen < 4)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -8807,14 +9135,14 @@ uint32_t dot11f_unpack_ie_eht_cap(tpAniSirGlobal pCtx, framesntohl(pCtx, &tmp83__, pBuf, 0); pBuf += 4; ielen -= 4; - pDst->bw_le_80_rx_max_nss_for_mcs_0_to_9 = tmp83__ >> 0 & 0xf; - pDst->bw_le_80_tx_max_nss_for_mcs_0_to_9 = tmp83__ >> 4 & 0xf; - pDst->bw_le_80_rx_max_nss_for_mcs_10_and_11 = tmp83__ >> 8 & 0xf; - pDst->bw_le_80_tx_max_nss_for_mcs_10_and_11 = tmp83__ >> 12 & 0xf; - pDst->bw_le_80_rx_max_nss_for_mcs_12_and_13 = tmp83__ >> 16 & 0xf; - pDst->bw_le_80_tx_max_nss_for_mcs_12_and_13 = tmp83__ >> 20 & 0xf; - pDst->bw_160_rx_max_nss_for_mcs_0_to_9 = tmp83__ >> 24 & 0xf; - pDst->bw_160_tx_max_nss_for_mcs_0_to_9 = tmp83__ >> 28 & 0xf; + pDst->bw_20_rx_max_nss_for_mcs_0_to_7 = tmp83__ >> 0 & 0xf; + pDst->bw_20_tx_max_nss_for_mcs_0_to_7 = tmp83__ >> 4 & 0xf; + pDst->bw_20_rx_max_nss_for_mcs_8_and_9 = tmp83__ >> 8 & 0xf; + pDst->bw_20_tx_max_nss_for_mcs_8_and_9 = tmp83__ >> 12 & 0xf; + pDst->bw_20_rx_max_nss_for_mcs_10_and_11 = tmp83__ >> 16 & 0xf; + pDst->bw_20_tx_max_nss_for_mcs_10_and_11 = tmp83__ >> 20 & 0xf; + pDst->bw_20_rx_max_nss_for_mcs_12_and_13 = tmp83__ >> 24 & 0xf; + pDst->bw_20_tx_max_nss_for_mcs_12_and_13 = tmp83__ >> 28 & 0xf; if (unlikely(ielen < 4)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -8823,24 +9151,40 @@ uint32_t dot11f_unpack_ie_eht_cap(tpAniSirGlobal pCtx, framesntohl(pCtx, &tmp84__, pBuf, 0); pBuf += 4; ielen -= 4; - pDst->bw_160_rx_max_nss_for_mcs_10_and_11 = tmp84__ >> 0 & 0xf; - pDst->bw_160_tx_max_nss_for_mcs_10_and_11 = tmp84__ >> 4 & 0xf; - pDst->bw_160_rx_max_nss_for_mcs_12_and_13 = tmp84__ >> 8 & 0xf; - pDst->bw_160_tx_max_nss_for_mcs_12_and_13 = tmp84__ >> 12 & 0xf; - pDst->bw_320_rx_max_nss_for_mcs_0_to_9 = tmp84__ >> 16 & 0xf; - pDst->bw_320_tx_max_nss_for_mcs_0_to_9 = tmp84__ >> 20 & 0xf; - pDst->bw_320_rx_max_nss_for_mcs_10_and_11 = tmp84__ >> 24 & 0xf; - pDst->bw_320_tx_max_nss_for_mcs_10_and_11 = tmp84__ >> 28 & 0xf; + pDst->bw_le_80_rx_max_nss_for_mcs_0_to_9 = tmp84__ >> 0 & 0xf; + pDst->bw_le_80_tx_max_nss_for_mcs_0_to_9 = tmp84__ >> 4 & 0xf; + pDst->bw_le_80_rx_max_nss_for_mcs_10_and_11 = tmp84__ >> 8 & 0xf; + pDst->bw_le_80_tx_max_nss_for_mcs_10_and_11 = tmp84__ >> 12 & 0xf; + pDst->bw_le_80_rx_max_nss_for_mcs_12_and_13 = tmp84__ >> 16 & 0xf; + pDst->bw_le_80_tx_max_nss_for_mcs_12_and_13 = tmp84__ >> 20 & 0xf; + pDst->bw_160_rx_max_nss_for_mcs_0_to_9 = tmp84__ >> 24 & 0xf; + pDst->bw_160_tx_max_nss_for_mcs_0_to_9 = tmp84__ >> 28 & 0xf; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &tmp85__, pBuf, 0); + pBuf += 4; + ielen -= 4; + pDst->bw_160_rx_max_nss_for_mcs_10_and_11 = tmp85__ >> 0 & 0xf; + pDst->bw_160_tx_max_nss_for_mcs_10_and_11 = tmp85__ >> 4 & 0xf; + pDst->bw_160_rx_max_nss_for_mcs_12_and_13 = tmp85__ >> 8 & 0xf; + pDst->bw_160_tx_max_nss_for_mcs_12_and_13 = tmp85__ >> 12 & 0xf; + pDst->bw_320_rx_max_nss_for_mcs_0_to_9 = tmp85__ >> 16 & 0xf; + pDst->bw_320_tx_max_nss_for_mcs_0_to_9 = tmp85__ >> 20 & 0xf; + pDst->bw_320_rx_max_nss_for_mcs_10_and_11 = tmp85__ >> 24 & 0xf; + pDst->bw_320_tx_max_nss_for_mcs_10_and_11 = tmp85__ >> 28 & 0xf; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp85__ = *pBuf; + tmp86__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->bw_320_rx_max_nss_for_mcs_12_and_13 = tmp85__ >> 0 & 0xf; - pDst->bw_320_tx_max_nss_for_mcs_12_and_13 = tmp85__ >> 4 & 0xf; + pDst->bw_320_rx_max_nss_for_mcs_12_and_13 = tmp86__ >> 0 & 0xf; + pDst->bw_320_tx_max_nss_for_mcs_12_and_13 = tmp86__ >> 4 & 0xf; switch (pDst->ppet_present) { case 1: pDst->ppet.ppe_threshold.num_ppe_th = (uint8_t)(ielen); @@ -8858,7 +9202,7 @@ uint32_t dot11f_unpack_ie_eht_cap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_eht_cap. */ -#define SigIeeht_cap (0x0083) +#define SigIeeht_cap (0x0084) uint32_t dot11f_unpack_ie_eht_op(tpAniSirGlobal pCtx, @@ -8868,9 +9212,9 @@ uint32_t dot11f_unpack_ie_eht_op(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp86__; - uint32_t tmp87__; - uint8_t tmp88__; + uint8_t tmp87__; + uint32_t tmp88__; + uint8_t tmp89__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -8880,41 +9224,41 @@ uint32_t dot11f_unpack_ie_eht_op(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp86__ = *pBuf; + tmp87__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->eht_op_information_present = tmp86__ >> 0 & 0x1; - pDst->disabled_sub_chan_bitmap_present = tmp86__ >> 1 & 0x1; - pDst->eht_default_pe_duration = tmp86__ >> 2 & 0x1; - pDst->group_addr_bu_indication_limit = tmp86__ >> 3 & 0x1; - pDst->group_addr_bu_indication_exponent = tmp86__ >> 4 & 0x3; - pDst->reserved = tmp86__ >> 6 & 0x3; + pDst->eht_op_information_present = tmp87__ >> 0 & 0x1; + pDst->disabled_sub_chan_bitmap_present = tmp87__ >> 1 & 0x1; + pDst->eht_default_pe_duration = tmp87__ >> 2 & 0x1; + pDst->group_addr_bu_indication_limit = tmp87__ >> 3 & 0x1; + pDst->group_addr_bu_indication_exponent = tmp87__ >> 4 & 0x3; + pDst->reserved = tmp87__ >> 6 & 0x3; if (unlikely(ielen < 4)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - framesntohl(pCtx, &tmp87__, pBuf, 0); + framesntohl(pCtx, &tmp88__, pBuf, 0); pBuf += 4; ielen -= 4; - pDst->basic_rx_max_nss_for_mcs_0_to_7 = tmp87__ >> 0 & 0xf; - pDst->basic_tx_max_nss_for_mcs_0_to_7 = tmp87__ >> 4 & 0xf; - pDst->basic_rx_max_nss_for_mcs_8_and_9 = tmp87__ >> 8 & 0xf; - pDst->basic_tx_max_nss_for_mcs_8_and_9 = tmp87__ >> 12 & 0xf; - pDst->basic_rx_max_nss_for_mcs_10_and_11 = tmp87__ >> 16 & 0xf; - pDst->basic_tx_max_nss_for_mcs_10_and_11 = tmp87__ >> 20 & 0xf; - pDst->basic_rx_max_nss_for_mcs_12_and_13 = tmp87__ >> 24 & 0xf; - pDst->basic_tx_max_nss_for_mcs_12_and_13 = tmp87__ >> 28 & 0xf; + pDst->basic_rx_max_nss_for_mcs_0_to_7 = tmp88__ >> 0 & 0xf; + pDst->basic_tx_max_nss_for_mcs_0_to_7 = tmp88__ >> 4 & 0xf; + pDst->basic_rx_max_nss_for_mcs_8_and_9 = tmp88__ >> 8 & 0xf; + pDst->basic_tx_max_nss_for_mcs_8_and_9 = tmp88__ >> 12 & 0xf; + pDst->basic_rx_max_nss_for_mcs_10_and_11 = tmp88__ >> 16 & 0xf; + pDst->basic_tx_max_nss_for_mcs_10_and_11 = tmp88__ >> 20 & 0xf; + pDst->basic_rx_max_nss_for_mcs_12_and_13 = tmp88__ >> 24 & 0xf; + pDst->basic_tx_max_nss_for_mcs_12_and_13 = tmp88__ >> 28 & 0xf; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp88__ = *pBuf; + tmp89__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->channel_width = tmp88__ >> 0 & 0x7; - pDst->reserved_1 = tmp88__ >> 3 & 0x1f; + pDst->channel_width = tmp89__ >> 0 & 0x7; + pDst->reserved_1 = tmp89__ >> 3 & 0x1f; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -8946,7 +9290,7 @@ uint32_t dot11f_unpack_ie_eht_op(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_eht_op. */ -#define SigIeeht_op (0x0084) +#define SigIeeht_op (0x0085) uint32_t dot11f_unpack_ie_esp_information(tpAniSirGlobal pCtx, @@ -8971,7 +9315,7 @@ uint32_t dot11f_unpack_ie_esp_information(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_esp_information. */ -#define SigIeesp_information (0x0085) +#define SigIeesp_information (0x0086) uint32_t dot11f_unpack_ie_ext_chan_switch_ann(tpAniSirGlobal pCtx, @@ -9019,7 +9363,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 (0x0086) +#define SigIeext_chan_switch_ann (0x0087) uint32_t dot11f_unpack_ie_fils_assoc_delay_info(tpAniSirGlobal pCtx, @@ -9043,7 +9387,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 (0x0087) +#define SigIefils_assoc_delay_info (0x0088) uint32_t dot11f_unpack_ie_fils_hlp_container(tpAniSirGlobal pCtx, @@ -9079,7 +9423,7 @@ uint32_t dot11f_unpack_ie_fils_hlp_container(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_hlp_container. */ -#define SigIefils_hlp_container (0x0088) +#define SigIefils_hlp_container (0x0089) uint32_t dot11f_unpack_ie_fils_indication(tpAniSirGlobal pCtx, @@ -9089,7 +9433,7 @@ uint32_t dot11f_unpack_ie_fils_indication(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint16_t tmp89__; + uint16_t tmp90__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -9099,25 +9443,25 @@ uint32_t dot11f_unpack_ie_fils_indication(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp89__, pBuf, 0); + framesntohs(pCtx, &tmp90__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->public_key_identifiers_cnt = tmp89__ >> 0 & 0x7; - pDst->realm_identifiers_cnt = tmp89__ >> 3 & 0x7; - pDst->is_ip_config_supported = tmp89__ >> 6 & 0x1; - pDst->is_cache_id_present = tmp89__ >> 7 & 0x1; - pDst->is_hessid_present = tmp89__ >> 8 & 0x1; - pDst->is_fils_sk_auth_supported = tmp89__ >> 9 & 0x1; - pDst->is_fils_sk_auth_pfs_supported = tmp89__ >> 10 & 0x1; - pDst->is_pk_auth_supported = tmp89__ >> 11 & 0x1; - pDst->reserved = tmp89__ >> 12 & 0xf; + pDst->public_key_identifiers_cnt = tmp90__ >> 0 & 0x7; + pDst->realm_identifiers_cnt = tmp90__ >> 3 & 0x7; + pDst->is_ip_config_supported = tmp90__ >> 6 & 0x1; + pDst->is_cache_id_present = tmp90__ >> 7 & 0x1; + pDst->is_hessid_present = tmp90__ >> 8 & 0x1; + pDst->is_fils_sk_auth_supported = tmp90__ >> 9 & 0x1; + pDst->is_fils_sk_auth_pfs_supported = tmp90__ >> 10 & 0x1; + pDst->is_pk_auth_supported = tmp90__ >> 11 & 0x1; + pDst->reserved = tmp90__ >> 12 & 0xf; pDst->num_variable_data = (uint8_t)(ielen); DOT11F_MEMCPY(pCtx, pDst->variable_data, pBuf, (ielen)); (void)pCtx; return status; } /* End dot11f_unpack_ie_fils_indication. */ -#define SigIefils_indication (0x0089) +#define SigIefils_indication (0x008a) uint32_t dot11f_unpack_ie_fils_kde(tpAniSirGlobal pCtx, @@ -9145,7 +9489,7 @@ uint32_t dot11f_unpack_ie_fils_kde(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_kde. */ -#define SigIefils_kde (0x008a) +#define SigIefils_kde (0x008b) uint32_t dot11f_unpack_ie_fils_key_confirmation(tpAniSirGlobal pCtx, @@ -9165,7 +9509,7 @@ uint32_t dot11f_unpack_ie_fils_key_confirmation(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_key_confirmation. */ -#define SigIefils_key_confirmation (0x008b) +#define SigIefils_key_confirmation (0x008c) uint32_t dot11f_unpack_ie_fils_nonce(tpAniSirGlobal pCtx, @@ -9189,7 +9533,7 @@ uint32_t dot11f_unpack_ie_fils_nonce(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_nonce. */ -#define SigIefils_nonce (0x008c) +#define SigIefils_nonce (0x008d) uint32_t dot11f_unpack_ie_fils_public_key(tpAniSirGlobal pCtx, @@ -9217,7 +9561,7 @@ uint32_t dot11f_unpack_ie_fils_public_key(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_public_key. */ -#define SigIefils_public_key (0x008d) +#define SigIefils_public_key (0x008e) uint32_t dot11f_unpack_ie_fils_session(tpAniSirGlobal pCtx, @@ -9241,7 +9585,7 @@ uint32_t dot11f_unpack_ie_fils_session(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_session. */ -#define SigIefils_session (0x008e) +#define SigIefils_session (0x008f) uint32_t dot11f_unpack_ie_fils_wrapped_data(tpAniSirGlobal pCtx, @@ -9261,7 +9605,7 @@ uint32_t dot11f_unpack_ie_fils_wrapped_data(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fils_wrapped_data. */ -#define SigIefils_wrapped_data (0x008f) +#define SigIefils_wrapped_data (0x0090) uint32_t dot11f_unpack_ie_fragment_ie(tpAniSirGlobal pCtx, @@ -9281,7 +9625,7 @@ uint32_t dot11f_unpack_ie_fragment_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_fragment_ie. */ -#define SigIefragment_ie (0x0090) +#define SigIefragment_ie (0x0091) uint32_t dot11f_unpack_ie_he_6ghz_band_cap(tpAniSirGlobal pCtx, @@ -9291,7 +9635,7 @@ uint32_t dot11f_unpack_ie_he_6ghz_band_cap(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint16_t tmp90__; + uint16_t tmp91__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -9301,20 +9645,20 @@ uint32_t dot11f_unpack_ie_he_6ghz_band_cap(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp90__, pBuf, 0); - pDst->min_mpdu_start_spacing = tmp90__ >> 0 & 0x7; - pDst->max_ampdu_len_exp = tmp90__ >> 3 & 0x7; - pDst->max_mpdu_len = tmp90__ >> 6 & 0x7; - pDst->sm_pow_save = tmp90__ >> 9 & 0x3; - pDst->rd_responder = tmp90__ >> 11 & 0x1; - pDst->rx_ant_pattern_consistency = tmp90__ >> 12 & 0x1; - pDst->tx_ant_pattern_consistency = tmp90__ >> 13 & 0x1; - pDst->reserved = tmp90__ >> 14 & 0x3; + framesntohs(pCtx, &tmp91__, pBuf, 0); + pDst->min_mpdu_start_spacing = tmp91__ >> 0 & 0x7; + pDst->max_ampdu_len_exp = tmp91__ >> 3 & 0x7; + pDst->max_mpdu_len = tmp91__ >> 6 & 0x7; + pDst->sm_pow_save = tmp91__ >> 9 & 0x3; + pDst->rd_responder = tmp91__ >> 11 & 0x1; + pDst->rx_ant_pattern_consistency = tmp91__ >> 12 & 0x1; + pDst->tx_ant_pattern_consistency = tmp91__ >> 13 & 0x1; + pDst->reserved = tmp91__ >> 14 & 0x3; (void)pCtx; return status; } /* End dot11f_unpack_ie_he_6ghz_band_cap. */ -#define SigIehe_6ghz_band_cap (0x0091) +#define SigIehe_6ghz_band_cap (0x0092) uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, @@ -9324,11 +9668,11 @@ uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint32_t tmp91__; - uint16_t tmp92__; - uint32_t tmp93__; + uint32_t tmp92__; + uint16_t tmp93__; uint32_t tmp94__; - uint16_t tmp95__; + uint32_t tmp95__; + uint16_t tmp96__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -9338,84 +9682,54 @@ uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohl(pCtx, &tmp91__, pBuf, 0); + framesntohl(pCtx, &tmp92__, pBuf, 0); pBuf += 4; ielen -= 4; - pDst->htc_he = tmp91__ >> 0 & 0x1; - pDst->twt_request = tmp91__ >> 1 & 0x1; - pDst->twt_responder = tmp91__ >> 2 & 0x1; - pDst->fragmentation = tmp91__ >> 3 & 0x3; - pDst->max_num_frag_msdu_amsdu_exp = tmp91__ >> 5 & 0x7; - pDst->min_frag_size = tmp91__ >> 8 & 0x3; - pDst->trigger_frm_mac_pad = tmp91__ >> 10 & 0x3; - pDst->multi_tid_aggr_rx_supp = tmp91__ >> 12 & 0x7; - pDst->he_link_adaptation = tmp91__ >> 15 & 0x3; - pDst->all_ack = tmp91__ >> 17 & 0x1; - pDst->trigd_rsp_sched = tmp91__ >> 18 & 0x1; - pDst->a_bsr = tmp91__ >> 19 & 0x1; - pDst->broadcast_twt = tmp91__ >> 20 & 0x1; - pDst->ba_32bit_bitmap = tmp91__ >> 21 & 0x1; - pDst->mu_cascade = tmp91__ >> 22 & 0x1; - pDst->ack_enabled_multitid = tmp91__ >> 23 & 0x1; - pDst->reserved = tmp91__ >> 24 & 0x1; - pDst->omi_a_ctrl = tmp91__ >> 25 & 0x1; - pDst->ofdma_ra = tmp91__ >> 26 & 0x1; - pDst->max_ampdu_len_exp_ext = tmp91__ >> 27 & 0x3; - pDst->amsdu_frag = tmp91__ >> 29 & 0x1; - pDst->flex_twt_sched = tmp91__ >> 30 & 0x1; - pDst->rx_ctrl_frame = tmp91__ >> 31 & 0x1; + pDst->htc_he = tmp92__ >> 0 & 0x1; + pDst->twt_request = tmp92__ >> 1 & 0x1; + pDst->twt_responder = tmp92__ >> 2 & 0x1; + pDst->fragmentation = tmp92__ >> 3 & 0x3; + pDst->max_num_frag_msdu_amsdu_exp = tmp92__ >> 5 & 0x7; + pDst->min_frag_size = tmp92__ >> 8 & 0x3; + pDst->trigger_frm_mac_pad = tmp92__ >> 10 & 0x3; + pDst->multi_tid_aggr_rx_supp = tmp92__ >> 12 & 0x7; + pDst->he_link_adaptation = tmp92__ >> 15 & 0x3; + pDst->all_ack = tmp92__ >> 17 & 0x1; + pDst->trigd_rsp_sched = tmp92__ >> 18 & 0x1; + pDst->a_bsr = tmp92__ >> 19 & 0x1; + pDst->broadcast_twt = tmp92__ >> 20 & 0x1; + pDst->ba_32bit_bitmap = tmp92__ >> 21 & 0x1; + pDst->mu_cascade = tmp92__ >> 22 & 0x1; + pDst->ack_enabled_multitid = tmp92__ >> 23 & 0x1; + pDst->reserved = tmp92__ >> 24 & 0x1; + pDst->omi_a_ctrl = tmp92__ >> 25 & 0x1; + pDst->ofdma_ra = tmp92__ >> 26 & 0x1; + pDst->max_ampdu_len_exp_ext = tmp92__ >> 27 & 0x3; + pDst->amsdu_frag = tmp92__ >> 29 & 0x1; + pDst->flex_twt_sched = tmp92__ >> 30 & 0x1; + pDst->rx_ctrl_frame = tmp92__ >> 31 & 0x1; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp92__, pBuf, 0); + framesntohs(pCtx, &tmp93__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->bsrp_ampdu_aggr = tmp92__ >> 0 & 0x1; - pDst->qtp = tmp92__ >> 1 & 0x1; - pDst->a_bqr = tmp92__ >> 2 & 0x1; - pDst->spatial_reuse_param_rspder = tmp92__ >> 3 & 0x1; - pDst->ndp_feedback_supp = tmp92__ >> 4 & 0x1; - pDst->ops_supp = tmp92__ >> 5 & 0x1; - pDst->amsdu_in_ampdu = tmp92__ >> 6 & 0x1; - pDst->multi_tid_aggr_tx_supp = tmp92__ >> 7 & 0x7; - pDst->he_sub_ch_sel_tx_supp = tmp92__ >> 10 & 0x1; - pDst->ul_2x996_tone_ru_supp = tmp92__ >> 11 & 0x1; - pDst->om_ctrl_ul_mu_data_dis_rx = tmp92__ >> 12 & 0x1; - pDst->he_dynamic_smps = tmp92__ >> 13 & 0x1; - pDst->punctured_sounding_supp = tmp92__ >> 14 & 0x1; - pDst->ht_vht_trg_frm_rx_supp = tmp92__ >> 15 & 0x1; - if (unlikely(ielen < 4)) { - pDst->present = 0; - return DOT11F_INCOMPLETE_IE; - } - - framesntohl(pCtx, &tmp93__, pBuf, 0); - pBuf += 4; - ielen -= 4; - pDst->reserved2 = tmp93__ >> 0 & 0x1; - pDst->chan_width_0 = tmp93__ >> 1 & 0x1; - pDst->chan_width_1 = tmp93__ >> 2 & 0x1; - pDst->chan_width_2 = tmp93__ >> 3 & 0x1; - pDst->chan_width_3 = tmp93__ >> 4 & 0x1; - pDst->chan_width_4 = tmp93__ >> 5 & 0x1; - pDst->chan_width_5 = tmp93__ >> 6 & 0x1; - pDst->chan_width_6 = tmp93__ >> 7 & 0x1; - pDst->rx_pream_puncturing = tmp93__ >> 8 & 0xf; - pDst->device_class = tmp93__ >> 12 & 0x1; - pDst->ldpc_coding = tmp93__ >> 13 & 0x1; - pDst->he_1x_ltf_800_gi_ppdu = tmp93__ >> 14 & 0x1; - pDst->midamble_tx_rx_max_nsts = tmp93__ >> 15 & 0x3; - pDst->he_4x_ltf_3200_gi_ndp = tmp93__ >> 17 & 0x1; - pDst->tb_ppdu_tx_stbc_lt_80mhz = tmp93__ >> 18 & 0x1; - pDst->rx_stbc_lt_80mhz = tmp93__ >> 19 & 0x1; - pDst->doppler = tmp93__ >> 20 & 0x3; - pDst->ul_mu = tmp93__ >> 22 & 0x3; - pDst->dcm_enc_tx = tmp93__ >> 24 & 0x7; - pDst->dcm_enc_rx = tmp93__ >> 27 & 0x7; - pDst->ul_he_mu = tmp93__ >> 30 & 0x1; - pDst->su_beamformer = tmp93__ >> 31 & 0x1; + pDst->bsrp_ampdu_aggr = tmp93__ >> 0 & 0x1; + pDst->qtp = tmp93__ >> 1 & 0x1; + pDst->a_bqr = tmp93__ >> 2 & 0x1; + pDst->spatial_reuse_param_rspder = tmp93__ >> 3 & 0x1; + pDst->ndp_feedback_supp = tmp93__ >> 4 & 0x1; + pDst->ops_supp = tmp93__ >> 5 & 0x1; + pDst->amsdu_in_ampdu = tmp93__ >> 6 & 0x1; + pDst->multi_tid_aggr_tx_supp = tmp93__ >> 7 & 0x7; + pDst->he_sub_ch_sel_tx_supp = tmp93__ >> 10 & 0x1; + pDst->ul_2x996_tone_ru_supp = tmp93__ >> 11 & 0x1; + pDst->om_ctrl_ul_mu_data_dis_rx = tmp93__ >> 12 & 0x1; + pDst->he_dynamic_smps = tmp93__ >> 13 & 0x1; + pDst->punctured_sounding_supp = tmp93__ >> 14 & 0x1; + pDst->ht_vht_trg_frm_rx_supp = tmp93__ >> 15 & 0x1; if (unlikely(ielen < 4)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9424,48 +9738,78 @@ uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, framesntohl(pCtx, &tmp94__, pBuf, 0); pBuf += 4; ielen -= 4; - pDst->su_beamformee = tmp94__ >> 0 & 0x1; - pDst->mu_beamformer = tmp94__ >> 1 & 0x1; - pDst->bfee_sts_lt_80 = tmp94__ >> 2 & 0x7; - pDst->bfee_sts_gt_80 = tmp94__ >> 5 & 0x7; - pDst->num_sounding_lt_80 = tmp94__ >> 8 & 0x7; - pDst->num_sounding_gt_80 = tmp94__ >> 11 & 0x7; - pDst->su_feedback_tone16 = tmp94__ >> 14 & 0x1; - pDst->mu_feedback_tone16 = tmp94__ >> 15 & 0x1; - pDst->codebook_su = tmp94__ >> 16 & 0x1; - pDst->codebook_mu = tmp94__ >> 17 & 0x1; - pDst->beamforming_feedback = tmp94__ >> 18 & 0x7; - pDst->he_er_su_ppdu = tmp94__ >> 21 & 0x1; - pDst->dl_mu_mimo_part_bw = tmp94__ >> 22 & 0x1; - pDst->ppet_present = tmp94__ >> 23 & 0x1; - pDst->srp = tmp94__ >> 24 & 0x1; - pDst->power_boost = tmp94__ >> 25 & 0x1; - pDst->he_ltf_800_gi_4x = tmp94__ >> 26 & 0x1; - pDst->max_nc = tmp94__ >> 27 & 0x7; - pDst->tb_ppdu_tx_stbc_gt_80mhz = tmp94__ >> 30 & 0x1; - pDst->rx_stbc_gt_80mhz = tmp94__ >> 31 & 0x1; + pDst->reserved2 = tmp94__ >> 0 & 0x1; + pDst->chan_width_0 = tmp94__ >> 1 & 0x1; + pDst->chan_width_1 = tmp94__ >> 2 & 0x1; + pDst->chan_width_2 = tmp94__ >> 3 & 0x1; + pDst->chan_width_3 = tmp94__ >> 4 & 0x1; + pDst->chan_width_4 = tmp94__ >> 5 & 0x1; + pDst->chan_width_5 = tmp94__ >> 6 & 0x1; + pDst->chan_width_6 = tmp94__ >> 7 & 0x1; + pDst->rx_pream_puncturing = tmp94__ >> 8 & 0xf; + pDst->device_class = tmp94__ >> 12 & 0x1; + pDst->ldpc_coding = tmp94__ >> 13 & 0x1; + pDst->he_1x_ltf_800_gi_ppdu = tmp94__ >> 14 & 0x1; + pDst->midamble_tx_rx_max_nsts = tmp94__ >> 15 & 0x3; + pDst->he_4x_ltf_3200_gi_ndp = tmp94__ >> 17 & 0x1; + pDst->tb_ppdu_tx_stbc_lt_80mhz = tmp94__ >> 18 & 0x1; + pDst->rx_stbc_lt_80mhz = tmp94__ >> 19 & 0x1; + pDst->doppler = tmp94__ >> 20 & 0x3; + pDst->ul_mu = tmp94__ >> 22 & 0x3; + pDst->dcm_enc_tx = tmp94__ >> 24 & 0x7; + pDst->dcm_enc_rx = tmp94__ >> 27 & 0x7; + pDst->ul_he_mu = tmp94__ >> 30 & 0x1; + pDst->su_beamformer = tmp94__ >> 31 & 0x1; + if (unlikely(ielen < 4)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + framesntohl(pCtx, &tmp95__, pBuf, 0); + pBuf += 4; + ielen -= 4; + pDst->su_beamformee = tmp95__ >> 0 & 0x1; + pDst->mu_beamformer = tmp95__ >> 1 & 0x1; + pDst->bfee_sts_lt_80 = tmp95__ >> 2 & 0x7; + pDst->bfee_sts_gt_80 = tmp95__ >> 5 & 0x7; + pDst->num_sounding_lt_80 = tmp95__ >> 8 & 0x7; + pDst->num_sounding_gt_80 = tmp95__ >> 11 & 0x7; + pDst->su_feedback_tone16 = tmp95__ >> 14 & 0x1; + pDst->mu_feedback_tone16 = tmp95__ >> 15 & 0x1; + pDst->codebook_su = tmp95__ >> 16 & 0x1; + pDst->codebook_mu = tmp95__ >> 17 & 0x1; + pDst->beamforming_feedback = tmp95__ >> 18 & 0x7; + pDst->he_er_su_ppdu = tmp95__ >> 21 & 0x1; + pDst->dl_mu_mimo_part_bw = tmp95__ >> 22 & 0x1; + pDst->ppet_present = tmp95__ >> 23 & 0x1; + pDst->srp = tmp95__ >> 24 & 0x1; + pDst->power_boost = tmp95__ >> 25 & 0x1; + pDst->he_ltf_800_gi_4x = tmp95__ >> 26 & 0x1; + pDst->max_nc = tmp95__ >> 27 & 0x7; + pDst->tb_ppdu_tx_stbc_gt_80mhz = tmp95__ >> 30 & 0x1; + pDst->rx_stbc_gt_80mhz = tmp95__ >> 31 & 0x1; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp95__, pBuf, 0); + framesntohs(pCtx, &tmp96__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->er_he_ltf_800_gi_4x = tmp95__ >> 0 & 0x1; - pDst->he_ppdu_20_in_40Mhz_2G = tmp95__ >> 1 & 0x1; - pDst->he_ppdu_20_in_160_80p80Mhz = tmp95__ >> 2 & 0x1; - pDst->he_ppdu_80_in_160_80p80Mhz = tmp95__ >> 3 & 0x1; - pDst->er_1x_he_ltf_gi = tmp95__ >> 4 & 0x1; - pDst->midamble_tx_rx_1x_he_ltf = tmp95__ >> 5 & 0x1; - pDst->dcm_max_bw = tmp95__ >> 6 & 0x3; - pDst->longer_than_16_he_sigb_ofdm_sym = tmp95__ >> 8 & 0x1; - pDst->non_trig_cqi_feedback = tmp95__ >> 9 & 0x1; - pDst->tx_1024_qam_lt_242_tone_ru = tmp95__ >> 10 & 0x1; - pDst->rx_1024_qam_lt_242_tone_ru = tmp95__ >> 11 & 0x1; - pDst->rx_full_bw_su_he_mu_compress_sigb = tmp95__ >> 12 & 0x1; - pDst->rx_full_bw_su_he_mu_non_cmpr_sigb = tmp95__ >> 13 & 0x1; - pDst->reserved3 = tmp95__ >> 14 & 0x3; + pDst->er_he_ltf_800_gi_4x = tmp96__ >> 0 & 0x1; + pDst->he_ppdu_20_in_40Mhz_2G = tmp96__ >> 1 & 0x1; + pDst->he_ppdu_20_in_160_80p80Mhz = tmp96__ >> 2 & 0x1; + pDst->he_ppdu_80_in_160_80p80Mhz = tmp96__ >> 3 & 0x1; + pDst->er_1x_he_ltf_gi = tmp96__ >> 4 & 0x1; + pDst->midamble_tx_rx_1x_he_ltf = tmp96__ >> 5 & 0x1; + pDst->dcm_max_bw = tmp96__ >> 6 & 0x3; + pDst->longer_than_16_he_sigb_ofdm_sym = tmp96__ >> 8 & 0x1; + pDst->non_trig_cqi_feedback = tmp96__ >> 9 & 0x1; + pDst->tx_1024_qam_lt_242_tone_ru = tmp96__ >> 10 & 0x1; + pDst->rx_1024_qam_lt_242_tone_ru = tmp96__ >> 11 & 0x1; + pDst->rx_full_bw_su_he_mu_compress_sigb = tmp96__ >> 12 & 0x1; + pDst->rx_full_bw_su_he_mu_non_cmpr_sigb = tmp96__ >> 13 & 0x1; + pDst->reserved3 = tmp96__ >> 14 & 0x3; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9559,7 +9903,7 @@ uint32_t dot11f_unpack_ie_he_cap(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_he_cap. */ -#define SigIehe_cap (0x0092) +#define SigIehe_cap (0x0093) uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, @@ -9569,10 +9913,10 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint16_t tmp96__; - uint8_t tmp97__; + uint16_t tmp97__; uint8_t tmp98__; uint8_t tmp99__; + uint8_t tmp100__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -9582,25 +9926,14 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp96__, pBuf, 0); + framesntohs(pCtx, &tmp97__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->default_pe = tmp96__ >> 0 & 0x7; - pDst->twt_required = tmp96__ >> 3 & 0x1; - pDst->txop_rts_threshold = tmp96__ >> 4 & 0x3ff; - pDst->vht_oper_present = tmp96__ >> 14 & 0x1; - pDst->co_located_bss = tmp96__ >> 15 & 0x1; - if (unlikely(ielen < 1)) { - pDst->present = 0; - return DOT11F_INCOMPLETE_IE; - } - - tmp97__ = *pBuf; - pBuf += 1; - ielen -= 1; - pDst->er_su_disable = tmp97__ >> 0 & 0x1; - pDst->oper_info_6g_present = tmp97__ >> 1 & 0x1; - pDst->reserved2 = tmp97__ >> 2 & 0x3f; + pDst->default_pe = tmp97__ >> 0 & 0x7; + pDst->twt_required = tmp97__ >> 3 & 0x1; + pDst->txop_rts_threshold = tmp97__ >> 4 & 0x3ff; + pDst->vht_oper_present = tmp97__ >> 14 & 0x1; + pDst->co_located_bss = tmp97__ >> 15 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9609,9 +9942,20 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, tmp98__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->bss_color = tmp98__ >> 0 & 0x3f; - pDst->partial_bss_col = tmp98__ >> 6 & 0x1; - pDst->bss_col_disabled = tmp98__ >> 7 & 0x1; + pDst->er_su_disable = tmp98__ >> 0 & 0x1; + pDst->oper_info_6g_present = tmp98__ >> 1 & 0x1; + pDst->reserved2 = tmp98__ >> 2 & 0x3f; + if (unlikely(ielen < 1)) { + pDst->present = 0; + return DOT11F_INCOMPLETE_IE; + } + + tmp99__ = *pBuf; + pBuf += 1; + ielen -= 1; + pDst->bss_color = tmp99__ >> 0 & 0x3f; + pDst->partial_bss_col = tmp99__ >> 6 & 0x1; + pDst->bss_col_disabled = tmp99__ >> 7 & 0x1; if (unlikely(ielen < 2)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9675,13 +10019,13 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp99__ = *pBuf; + tmp100__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->oper_info_6g.info.ch_width = tmp99__ >> 0 & 0x3; - pDst->oper_info_6g.info.dup_bcon = tmp99__ >> 2 & 0x1; - pDst->oper_info_6g.info.reg_info = tmp99__ >> 3 & 0x7; - pDst->oper_info_6g.info.reserved = tmp99__ >> 6 & 0x3; + pDst->oper_info_6g.info.ch_width = tmp100__ >> 0 & 0x3; + pDst->oper_info_6g.info.dup_bcon = tmp100__ >> 2 & 0x1; + pDst->oper_info_6g.info.reg_info = tmp100__ >> 3 & 0x7; + pDst->oper_info_6g.info.reserved = tmp100__ >> 6 & 0x3; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9712,7 +10056,7 @@ uint32_t dot11f_unpack_ie_he_op(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_he_op. */ -#define SigIehe_op (0x0093) +#define SigIehe_op (0x0094) uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, @@ -9722,7 +10066,7 @@ uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp100__; + uint8_t tmp101__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -9732,13 +10076,13 @@ uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp100__ = *pBuf; + tmp101__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->dgaf_dis = tmp100__ >> 0 & 0x1; - pDst->hs_id_present = tmp100__ >> 1 & 0x3; - pDst->reserved = tmp100__ >> 3 & 0x1; - pDst->release_num = tmp100__ >> 4 & 0xf; + pDst->dgaf_dis = tmp101__ >> 0 & 0x1; + pDst->hs_id_present = tmp101__ >> 1 & 0x3; + pDst->reserved = tmp101__ >> 3 & 0x1; + pDst->release_num = tmp101__ >> 4 & 0xf; if (!ielen) { return 0U; } else { @@ -9769,7 +10113,7 @@ uint32_t dot11f_unpack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_hs20vendor_ie. */ -#define SigIehs20vendor_ie (0x0094) +#define SigIehs20vendor_ie (0x0095) uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, @@ -9779,7 +10123,7 @@ uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp101__; + uint8_t tmp102__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -9789,18 +10133,18 @@ uint32_t dot11f_unpack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp101__ = *pBuf; - pDst->info_request = tmp101__ >> 0 & 0x1; - pDst->forty_mhz_intolerant = tmp101__ >> 1 & 0x1; - pDst->twenty_mhz_bsswidth_req = tmp101__ >> 2 & 0x1; - pDst->obss_scan_exemption_req = tmp101__ >> 3 & 0x1; - pDst->obss_scan_exemption_grant = tmp101__ >> 4 & 0x1; - pDst->unused = tmp101__ >> 5 & 0x7; + tmp102__ = *pBuf; + pDst->info_request = tmp102__ >> 0 & 0x1; + pDst->forty_mhz_intolerant = tmp102__ >> 1 & 0x1; + pDst->twenty_mhz_bsswidth_req = tmp102__ >> 2 & 0x1; + pDst->obss_scan_exemption_req = tmp102__ >> 3 & 0x1; + pDst->obss_scan_exemption_grant = tmp102__ >> 4 & 0x1; + pDst->unused = tmp102__ >> 5 & 0x7; (void)pCtx; return status; } /* End dot11f_unpack_ie_ht2040_bss_coexistence. */ -#define SigIeht2040_bss_coexistence (0x0095) +#define SigIeht2040_bss_coexistence (0x0096) uint32_t dot11f_unpack_ie_ht2040_bss_intolerant_report(tpAniSirGlobal pCtx, @@ -9833,7 +10177,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 (0x0096) +#define SigIeht2040_bss_intolerant_report (0x0097) uint32_t dot11f_unpack_ie_max_chan_switch_time(tpAniSirGlobal pCtx, @@ -9857,7 +10201,7 @@ uint32_t dot11f_unpack_ie_max_chan_switch_time(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_max_chan_switch_time. */ -#define SigIemax_chan_switch_time (0x0097) +#define SigIemax_chan_switch_time (0x0098) uint32_t dot11f_unpack_ie_mlo_ie(tpAniSirGlobal pCtx, @@ -9877,7 +10221,7 @@ uint32_t dot11f_unpack_ie_mlo_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_mlo_ie. */ -#define SigIemlo_ie (0x0098) +#define SigIemlo_ie (0x0099) uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, @@ -9887,7 +10231,6 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp102__; uint8_t tmp103__; uint8_t tmp104__; uint8_t tmp105__; @@ -9895,6 +10238,7 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, uint8_t tmp107__; uint8_t tmp108__; uint8_t tmp109__; + uint8_t tmp110__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -9912,23 +10256,23 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp102__ = *pBuf; + tmp103__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbe_aifsn = tmp102__ >> 0 & 0xf; - pDst->acbe_acm = tmp102__ >> 4 & 0x1; - pDst->acbe_aci = tmp102__ >> 5 & 0x3; - pDst->unused1 = tmp102__ >> 7 & 0x1; + pDst->acbe_aifsn = tmp103__ >> 0 & 0xf; + pDst->acbe_acm = tmp103__ >> 4 & 0x1; + pDst->acbe_aci = tmp103__ >> 5 & 0x3; + pDst->unused1 = tmp103__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp103__ = *pBuf; + tmp104__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbe_acwmin = tmp103__ >> 0 & 0xf; - pDst->acbe_acwmax = tmp103__ >> 4 & 0xf; + pDst->acbe_acwmin = tmp104__ >> 0 & 0xf; + pDst->acbe_acwmax = tmp104__ >> 4 & 0xf; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9942,23 +10286,23 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp104__ = *pBuf; + tmp105__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbk_aifsn = tmp104__ >> 0 & 0xf; - pDst->acbk_acm = tmp104__ >> 4 & 0x1; - pDst->acbk_aci = tmp104__ >> 5 & 0x3; - pDst->unused2 = tmp104__ >> 7 & 0x1; + pDst->acbk_aifsn = tmp105__ >> 0 & 0xf; + pDst->acbk_acm = tmp105__ >> 4 & 0x1; + pDst->acbk_aci = tmp105__ >> 5 & 0x3; + pDst->unused2 = tmp105__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp105__ = *pBuf; + tmp106__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acbk_acwmin = tmp105__ >> 0 & 0xf; - pDst->acbk_acwmax = tmp105__ >> 4 & 0xf; + pDst->acbk_acwmin = tmp106__ >> 0 & 0xf; + pDst->acbk_acwmax = tmp106__ >> 4 & 0xf; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -9972,23 +10316,23 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp106__ = *pBuf; + tmp107__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvi_aifsn = tmp106__ >> 0 & 0xf; - pDst->acvi_acm = tmp106__ >> 4 & 0x1; - pDst->acvi_aci = tmp106__ >> 5 & 0x3; - pDst->unused3 = tmp106__ >> 7 & 0x1; + pDst->acvi_aifsn = tmp107__ >> 0 & 0xf; + pDst->acvi_acm = tmp107__ >> 4 & 0x1; + pDst->acvi_aci = tmp107__ >> 5 & 0x3; + pDst->unused3 = tmp107__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp107__ = *pBuf; + tmp108__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvi_acwmin = tmp107__ >> 0 & 0xf; - pDst->acvi_acwmax = tmp107__ >> 4 & 0xf; + pDst->acvi_acwmin = tmp108__ >> 0 & 0xf; + pDst->acvi_acwmax = tmp108__ >> 4 & 0xf; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -10002,23 +10346,23 @@ uint32_t dot11f_unpack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp108__ = *pBuf; + tmp109__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvo_aifsn = tmp108__ >> 0 & 0xf; - pDst->acvo_acm = tmp108__ >> 4 & 0x1; - pDst->acvo_aci = tmp108__ >> 5 & 0x3; - pDst->unused4 = tmp108__ >> 7 & 0x1; + pDst->acvo_aifsn = tmp109__ >> 0 & 0xf; + pDst->acvo_acm = tmp109__ >> 4 & 0x1; + pDst->acvo_aci = tmp109__ >> 5 & 0x3; + pDst->unused4 = tmp109__ >> 7 & 0x1; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; } - tmp109__ = *pBuf; + tmp110__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->acvo_acwmin = tmp109__ >> 0 & 0xf; - pDst->acvo_acwmax = tmp109__ >> 4 & 0xf; + pDst->acvo_acwmin = tmp110__ >> 0 & 0xf; + pDst->acvo_acwmax = tmp110__ >> 4 & 0xf; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -10029,7 +10373,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 (0x0099) +#define SigIemu_edca_param_set (0x009a) uint32_t dot11f_unpack_ie_non_inheritance(tpAniSirGlobal pCtx, @@ -10049,7 +10393,7 @@ uint32_t dot11f_unpack_ie_non_inheritance(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_non_inheritance. */ -#define SigIenon_inheritance (0x009a) +#define SigIenon_inheritance (0x009b) uint32_t dot11f_unpack_ie_oci(tpAniSirGlobal pCtx, @@ -10089,7 +10433,7 @@ uint32_t dot11f_unpack_ie_oci(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_oci. */ -#define SigIeoci (0x009b) +#define SigIeoci (0x009c) uint32_t dot11f_unpack_ie_osen_ie(tpAniSirGlobal pCtx, @@ -10109,7 +10453,7 @@ uint32_t dot11f_unpack_ie_osen_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_osen_ie. */ -#define SigIeosen_ie (0x009c) +#define SigIeosen_ie (0x009d) static const tTLVDefn TLVS_qcn_ie[] = { @@ -10172,7 +10516,7 @@ uint32_t dot11f_unpack_ie_qcn_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_qcn_ie. */ -#define SigIeqcn_ie (0x009d) +#define SigIeqcn_ie (0x009e) uint32_t dot11f_unpack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx, @@ -10182,8 +10526,8 @@ uint32_t dot11f_unpack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint16_t tmp110__; uint16_t tmp111__; + uint16_t tmp112__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -10193,14 +10537,14 @@ uint32_t dot11f_unpack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp110__, pBuf, 0); + framesntohs(pCtx, &tmp111__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->tbtt_type = tmp110__ >> 0 & 0x3; - pDst->filtered_neighbor_ap = tmp110__ >> 2 & 0x1; - pDst->reserved = tmp110__ >> 3 & 0x1; - pDst->tbtt_info_count = tmp110__ >> 4 & 0xf; - pDst->tbtt_info_len = tmp110__ >> 8 & 0xff; + pDst->tbtt_type = tmp111__ >> 0 & 0x3; + pDst->filtered_neighbor_ap = tmp111__ >> 2 & 0x1; + pDst->reserved = tmp111__ >> 3 & 0x1; + pDst->tbtt_info_count = tmp111__ >> 4 & 0xf; + pDst->tbtt_info_len = tmp111__ >> 8 & 0xff; if (unlikely(ielen < 1)) { pDst->present = 0; return DOT11F_INCOMPLETE_IE; @@ -10524,20 +10868,20 @@ uint32_t dot11f_unpack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - framesntohs(pCtx, &tmp111__, pBuf, 0); + framesntohs(pCtx, &tmp112__, pBuf, 0); pBuf += 2; ielen -= 2; - pDst->tbtt_info.tbtt_info_16.link_id = tmp111__ >> 0 & 0xf; - pDst->tbtt_info.tbtt_info_16.bss_param_change_cnt = tmp111__ >> 4 & 0xff; - pDst->tbtt_info.tbtt_info_16.all_updates_included = tmp111__ >> 12 & 0x1; - pDst->tbtt_info.tbtt_info_16.reserved = tmp111__ >> 13 & 0x7; + pDst->tbtt_info.tbtt_info_16.link_id = tmp112__ >> 0 & 0xf; + pDst->tbtt_info.tbtt_info_16.bss_param_change_cnt = tmp112__ >> 4 & 0xff; + pDst->tbtt_info.tbtt_info_16.all_updates_included = tmp112__ >> 12 & 0x1; + pDst->tbtt_info.tbtt_info_16.reserved = tmp112__ >> 13 & 0x7; break; } (void)pCtx; return status; } /* End dot11f_unpack_ie_reduced_neighbor_report. */ -#define SigIereduced_neighbor_report (0x009e) +#define SigIereduced_neighbor_report (0x009f) uint32_t dot11f_unpack_ie_roaming_consortium_sel(tpAniSirGlobal pCtx, @@ -10557,7 +10901,7 @@ uint32_t dot11f_unpack_ie_roaming_consortium_sel(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_roaming_consortium_sel. */ -#define SigIeroaming_consortium_sel (0x009f) +#define SigIeroaming_consortium_sel (0x00a0) uint32_t dot11f_unpack_ie_sec_chan_offset_ele(tpAniSirGlobal pCtx, @@ -10581,7 +10925,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 (0x00a0) +#define SigIesec_chan_offset_ele (0x00a1) uint32_t dot11f_unpack_ie_spatial_reuse(tpAniSirGlobal pCtx, @@ -10591,7 +10935,7 @@ uint32_t dot11f_unpack_ie_spatial_reuse(tpAniSirGlobal pCtx, bool append_ie) { uint32_t status = DOT11F_PARSE_SUCCESS; - uint8_t tmp112__; + uint8_t tmp113__; (void) pBuf; (void)ielen; /* Shutup the compiler */ if (pDst->present) return DOT11F_DUPLICATE_IE; @@ -10601,15 +10945,15 @@ uint32_t dot11f_unpack_ie_spatial_reuse(tpAniSirGlobal pCtx, return DOT11F_INCOMPLETE_IE; } - tmp112__ = *pBuf; + tmp113__ = *pBuf; pBuf += 1; ielen -= 1; - pDst->psr_disallow = tmp112__ >> 0 & 0x1; - pDst->non_srg_pd_sr_disallow = tmp112__ >> 1 & 0x1; - pDst->non_srg_offset_present = tmp112__ >> 2 & 0x1; - pDst->srg_info_present = tmp112__ >> 3 & 0x1; - pDst->sr_value15_allow = tmp112__ >> 4 & 0x1; - pDst->reserved = tmp112__ >> 5 & 0x7; + pDst->psr_disallow = tmp113__ >> 0 & 0x1; + pDst->non_srg_pd_sr_disallow = tmp113__ >> 1 & 0x1; + pDst->non_srg_offset_present = tmp113__ >> 2 & 0x1; + pDst->srg_info_present = tmp113__ >> 3 & 0x1; + pDst->sr_value15_allow = tmp113__ >> 4 & 0x1; + pDst->reserved = tmp113__ >> 5 & 0x7; switch (pDst->non_srg_offset_present) { case 1: if (unlikely(ielen < 1)) { @@ -10662,7 +11006,7 @@ uint32_t dot11f_unpack_ie_spatial_reuse(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_spatial_reuse. */ -#define SigIespatial_reuse (0x00a1) +#define SigIespatial_reuse (0x00a2) uint32_t dot11f_unpack_ie_t2lm_ie(tpAniSirGlobal pCtx, @@ -10682,7 +11026,7 @@ uint32_t dot11f_unpack_ie_t2lm_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_t2lm_ie. */ -#define SigIet2lm_ie (0x00a2) +#define SigIet2lm_ie (0x00a3) static const tFFDefn FFS_vendor_vht_ie[] = { @@ -10731,7 +11075,7 @@ uint32_t dot11f_unpack_ie_vendor_vht_ie(tpAniSirGlobal pCtx, return status; } /* End dot11f_unpack_ie_vendor_vht_ie. */ -#define SigIevendor_vht_ie (0x00a3) +#define SigIevendor_vht_ie (0x00a4) static const tFFDefn FFS_AddTSRequest[] = { @@ -12289,7 +12633,7 @@ static const tFFDefn FFS_MeasurementReport[] = { static const tIEDefn IES_MeasurementReport[] = { { offsetof(tDot11fMeasurementReport, MeasurementReport), offsetof(tDot11fIEMeasurementReport, present), 0, "MeasurementReport", - 0, 5, 31, SigIeMeasurementReport, {0, 0, 0, 0, 0}, + 0, 5, 60, SigIeMeasurementReport, {0, 0, 0, 0, 0}, 0, DOT11F_EID_MEASUREMENTREPORT, 0, 1, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; @@ -12806,7 +13150,7 @@ static const tIEDefn IES_RadioMeasurementReport[] = { { offsetof(tDot11fRadioMeasurementReport, MeasurementReport), offsetof(tDot11fIEMeasurementReport, present), offsetof(tDot11fRadioMeasurementReport, num_MeasurementReport), - "MeasurementReport", 1, 5, 31, SigIeMeasurementReport, {0, 0, 0, 0, 0}, + "MeasurementReport", 1, 5, 60, SigIeMeasurementReport, {0, 0, 0, 0, 0}, 0, DOT11F_EID_MEASUREMENTREPORT, 0, 1, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },}; @@ -15182,6 +15526,16 @@ static uint32_t unpack_core(tpAniSirGlobal pCtx, countOffset), append_ie); break; + case SigIereporting_reason: + status |= + dot11f_unpack_ie_reporting_reason( + pCtx, pBufRemaining, len, + (tDot11fIEreporting_reason *) + (pFrm + pIe->offset + + sizeof(tDot11fIEreporting_reason) * + countOffset), + append_ie); + break; case SigIereq_mac_addr: status |= dot11f_unpack_ie_req_mac_addr( @@ -16558,30 +16912,25 @@ static uint32_t unpack_tlv_core(tpAniSirGlobal pCtx, } /* & length, */ if (pTlv->sLen == 2) { + framesntohs(pCtx, &len, pBufRemaining, pTlv->fMsb); if (2 > nBufRemaining) { FRAMES_LOG0(pCtx, FRLOGE, FRFL("This frame reports " "fewer two byte(s) remaining.\n")); status |= DOT11F_INCOMPLETE_TLV; FRAMES_DBG_BREAK(); goto MandatoryCheck; - } - framesntohs(pCtx, &len, pBufRemaining, pTlv->fMsb); - pBufRemaining += 2; - nBufRemaining -= 2; + } + pBufRemaining += 2; + nBufRemaining -= 2; } else { len = *pBufRemaining; pBufRemaining += 1; nBufRemaining -= 1; } } else { - if (TLVs[0].sType > nBufRemaining) { - FRAMES_LOG0(pCtx, FRLOGE, FRFL("This frame reports " - "fewer LVs[0].sType byte(s) remaining.\n")); - status |= DOT11F_INCOMPLETE_TLV; - goto MandatoryCheck; - } pBufRemaining += TLVs[0].sType; nBufRemaining -= TLVs[0].sType; + framesntohs(pCtx, &len, pBufRemaining, (TLVs[0].sType == 2)); if (2 > nBufRemaining) { FRAMES_LOG0(pCtx, FRLOGE, FRFL("This frame reports " "fewer two byte(s) remaining.\n")); @@ -16589,7 +16938,6 @@ static uint32_t unpack_tlv_core(tpAniSirGlobal pCtx, FRAMES_DBG_BREAK(); goto MandatoryCheck; } - framesntohs(pCtx, &len, pBufRemaining, (TLVs[0].sType == 2)); pBufRemaining += 2; nBufRemaining -= 2; } @@ -17424,6 +17772,54 @@ uint32_t dot11f_get_packed_ie_measurement_report(tpAniSirGlobal pCtx, *pnNeeded += 4; status = get_packed_size_core(pCtx, (uint8_t *)pIe, pnNeeded, IES_reportBeacon); break; + case 7: + *pnNeeded += 2; + *pnNeeded += 1; + switch (pIe->report.sta_stats.group_id) { + case 0: + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + break; + case 1: + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + break; + case 2: + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + *pnNeeded += 4; + break; + case 10: + *pnNeeded += 2; + *pnNeeded += 2; + *pnNeeded += 2; + *pnNeeded += 2; + *pnNeeded += 2; + *pnNeeded += 2; + *pnNeeded += 2; + break; + } + status = get_packed_size_core(pCtx, (uint8_t *)pIe, pnNeeded, IES_reportsta_stats); + break; } } else { break; @@ -19002,6 +19398,13 @@ static uint32_t get_packed_size_core(tpAniSirGlobal pCtx, (pFrm + pIe->offset + offset * i), pnNeeded); break; + case SigIereporting_reason: + offset = sizeof(tDot11fIEreporting_reason); + byteCount = 1; + pIePresent = ((tDot11fIEreporting_reason *) + (pFrm + pIe->offset + offset * i))-> + present; + break; case SigIereq_mac_addr: offset = sizeof(tDot11fIEreq_mac_addr); byteCount = 6; @@ -20395,25 +20798,25 @@ void dot11f_pack_ff_capabilities(tpAniSirGlobal pCtx, tDot11fFfCapabilities *pSrc, uint8_t *pBuf) { - uint16_t tmp113__; - tmp113__ = 0U; - tmp113__ |= (pSrc->ess << 0); - tmp113__ |= (pSrc->ibss << 1); - tmp113__ |= (pSrc->cfPollable << 2); - tmp113__ |= (pSrc->cfPollReq << 3); - tmp113__ |= (pSrc->privacy << 4); - tmp113__ |= (pSrc->shortPreamble << 5); - tmp113__ |= (pSrc->criticalUpdateFlag << 6); - tmp113__ |= (pSrc->channelAgility << 7); - tmp113__ |= (pSrc->spectrumMgt << 8); - tmp113__ |= (pSrc->qos << 9); - tmp113__ |= (pSrc->shortSlotTime << 10); - tmp113__ |= (pSrc->apsd << 11); - tmp113__ |= (pSrc->rrm << 12); - tmp113__ |= (pSrc->dsssOfdm << 13); - tmp113__ |= (pSrc->delayedBA << 14); - tmp113__ |= (pSrc->immediateBA << 15); - frameshtons(pCtx, pBuf, tmp113__, 0); + uint16_t tmp114__; + tmp114__ = 0U; + tmp114__ |= (pSrc->ess << 0); + tmp114__ |= (pSrc->ibss << 1); + tmp114__ |= (pSrc->cfPollable << 2); + tmp114__ |= (pSrc->cfPollReq << 3); + tmp114__ |= (pSrc->privacy << 4); + tmp114__ |= (pSrc->shortPreamble << 5); + tmp114__ |= (pSrc->criticalUpdateFlag << 6); + tmp114__ |= (pSrc->channelAgility << 7); + tmp114__ |= (pSrc->spectrumMgt << 8); + tmp114__ |= (pSrc->qos << 9); + tmp114__ |= (pSrc->shortSlotTime << 10); + tmp114__ |= (pSrc->apsd << 11); + tmp114__ |= (pSrc->rrm << 12); + tmp114__ |= (pSrc->dsssOfdm << 13); + tmp114__ |= (pSrc->delayedBA << 14); + tmp114__ |= (pSrc->immediateBA << 15); + frameshtons(pCtx, pBuf, tmp114__, 0); (void)pCtx; } /* End dot11f_pack_ff_capabilities. */ @@ -20477,13 +20880,13 @@ void dot11f_pack_ff_operating_mode(tpAniSirGlobal pCtx, tDot11fFfOperatingMode *pSrc, uint8_t *pBuf) { - uint8_t tmp114__; - tmp114__ = 0U; - tmp114__ |= (pSrc->chanWidth << 0); - tmp114__ |= (pSrc->reserved << 2); - tmp114__ |= (pSrc->rxNSS << 4); - tmp114__ |= (pSrc->rxNSSType << 7); - *pBuf = tmp114__; + uint8_t tmp115__; + tmp115__ = 0U; + tmp115__ |= (pSrc->chanWidth << 0); + tmp115__ |= (pSrc->reserved << 2); + tmp115__ |= (pSrc->rxNSS << 4); + tmp115__ |= (pSrc->rxNSSType << 7); + *pBuf = tmp115__; (void)pCtx; } /* End dot11f_pack_ff_operating_mode. */ @@ -20523,12 +20926,12 @@ void dot11f_pack_ff_sm_power_mode_set(tpAniSirGlobal pCtx, tDot11fFfSMPowerModeSet *pSrc, uint8_t *pBuf) { - uint8_t tmp115__; - tmp115__ = 0U; - tmp115__ |= (pSrc->PowerSave_En << 0); - tmp115__ |= (pSrc->Mode << 1); - tmp115__ |= (pSrc->reserved << 2); - *pBuf = tmp115__; + uint8_t tmp116__; + tmp116__ = 0U; + tmp116__ |= (pSrc->PowerSave_En << 0); + tmp116__ |= (pSrc->Mode << 1); + tmp116__ |= (pSrc->reserved << 2); + *pBuf = tmp116__; (void)pCtx; } /* End dot11f_pack_ff_sm_power_mode_set. */ @@ -20568,19 +20971,19 @@ void dot11f_pack_ff_ts_info(tpAniSirGlobal pCtx, tDot11fFfTSInfo *pSrc, uint8_t *pBuf) { - uint32_t tmp116__; - tmp116__ = 0U; - 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); - tmp116__ |= (pSrc->schedule << 16); - tmp116__ |= (pSrc->unused << 17); - frameshtonl(pCtx, pBuf, tmp116__, 0); + uint32_t tmp117__; + tmp117__ = 0U; + tmp117__ |= (pSrc->traffic_type << 0); + tmp117__ |= (pSrc->tsid << 1); + tmp117__ |= (pSrc->direction << 5); + tmp117__ |= (pSrc->access_policy << 7); + tmp117__ |= (pSrc->aggregation << 9); + tmp117__ |= (pSrc->psb << 10); + tmp117__ |= (pSrc->user_priority << 11); + tmp117__ |= (pSrc->tsinfo_ack_pol << 14); + tmp117__ |= (pSrc->schedule << 16); + tmp117__ |= (pSrc->unused << 17); + frameshtonl(pCtx, pBuf, tmp117__, 0); (void)pCtx; } /* End dot11f_pack_ff_ts_info. */ @@ -20636,13 +21039,13 @@ void dot11f_pack_ff_addba_param_set(tpAniSirGlobal pCtx, tDot11fFfaddba_param_set *pSrc, uint8_t *pBuf) { - uint16_t tmp117__; - tmp117__ = 0U; - tmp117__ |= (pSrc->amsdu_supp << 0); - tmp117__ |= (pSrc->policy << 1); - tmp117__ |= (pSrc->tid << 2); - tmp117__ |= (pSrc->buff_size << 6); - frameshtons(pCtx, pBuf, tmp117__, 0); + uint16_t tmp118__; + tmp118__ = 0U; + tmp118__ |= (pSrc->amsdu_supp << 0); + tmp118__ |= (pSrc->policy << 1); + tmp118__ |= (pSrc->tid << 2); + tmp118__ |= (pSrc->buff_size << 6); + frameshtons(pCtx, pBuf, tmp118__, 0); (void)pCtx; } /* End dot11f_pack_ff_addba_param_set. */ @@ -20650,11 +21053,11 @@ void dot11f_pack_ff_ba_start_seq_ctrl(tpAniSirGlobal pCtx, tDot11fFfba_start_seq_ctrl *pSrc, uint8_t *pBuf) { - uint16_t tmp118__; - tmp118__ = 0U; - tmp118__ |= (pSrc->frag_number << 0); - tmp118__ |= (pSrc->ssn << 4); - frameshtons(pCtx, pBuf, tmp118__, 0); + uint16_t tmp119__; + tmp119__ = 0U; + tmp119__ |= (pSrc->frag_number << 0); + tmp119__ |= (pSrc->ssn << 4); + frameshtons(pCtx, pBuf, tmp119__, 0); (void)pCtx; } /* End dot11f_pack_ff_ba_start_seq_ctrl. */ @@ -20670,12 +21073,12 @@ void dot11f_pack_ff_delba_param_set(tpAniSirGlobal pCtx, tDot11fFfdelba_param_set *pSrc, uint8_t *pBuf) { - uint16_t tmp119__; - tmp119__ = 0U; - tmp119__ |= (pSrc->reserved << 0); - tmp119__ |= (pSrc->initiator << 11); - tmp119__ |= (pSrc->tid << 12); - frameshtons(pCtx, pBuf, tmp119__, 0); + uint16_t tmp120__; + tmp120__ = 0U; + tmp120__ |= (pSrc->reserved << 0); + tmp120__ |= (pSrc->initiator << 11); + tmp120__ |= (pSrc->tid << 12); + frameshtons(pCtx, pBuf, tmp120__, 0); (void)pCtx; } /* End dot11f_pack_ff_delba_param_set. */ @@ -20683,13 +21086,13 @@ void dot11f_pack_ff_ext_chan_switch_ann_action(tpAniSirGlobal pCtx, tDot11fFfext_chan_switch_ann_action *pSrc, uint8_t *pBuf) { - uint32_t tmp120__; - tmp120__ = 0U; - tmp120__ |= (pSrc->switch_mode << 0); - tmp120__ |= (pSrc->op_class << 8); - tmp120__ |= (pSrc->new_channel << 16); - tmp120__ |= (pSrc->switch_count << 24); - frameshtonl(pCtx, pBuf, tmp120__, 0); + uint32_t tmp121__; + tmp121__ = 0U; + tmp121__ |= (pSrc->switch_mode << 0); + tmp121__ |= (pSrc->op_class << 8); + tmp121__ |= (pSrc->new_channel << 16); + tmp121__ |= (pSrc->switch_count << 24); + frameshtonl(pCtx, pBuf, tmp121__, 0); (void)pCtx; } /* End dot11f_pack_ff_ext_chan_switch_ann_action. */ @@ -20792,7 +21195,7 @@ uint32_t dot11f_pack_tlv_version2(tpAniSirGlobal pCtx, uint8_t *pTlvLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp121__; + uint8_t tmp122__; nNeeded += 3; if (nNeeded > nBuf) return DOT11F_BUFFER_OVERFLOW; @@ -20801,13 +21204,13 @@ uint32_t dot11f_pack_tlv_version2(tpAniSirGlobal pCtx, pBuf += 1; *pnConsumed += 1; pTlvLen = pBuf; pBuf += 1; *pnConsumed += 1; - tmp121__ = 0U; - tmp121__ |= (pSrc->minor << 0); - tmp121__ |= (pSrc->major << 4); + tmp122__ = 0U; + tmp122__ |= (pSrc->minor << 0); + tmp122__ |= (pSrc->major << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp121__; + *pBuf = tmp122__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -21764,7 +22167,7 @@ uint32_t dot11f_pack_tlv_version(tpAniSirGlobal pCtx, uint8_t *pTlvLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp122__; + uint8_t tmp123__; nNeeded += 5; if (nNeeded > nBuf) return DOT11F_BUFFER_OVERFLOW; @@ -21773,13 +22176,13 @@ uint32_t dot11f_pack_tlv_version(tpAniSirGlobal pCtx, pBuf += 2; *pnConsumed += 2; pTlvLen = pBuf; pBuf += 2; *pnConsumed += 2; - tmp122__ = 0U; - tmp122__ |= (pSrc->minor << 0); - tmp122__ |= (pSrc->major << 4); + tmp123__ = 0U; + tmp123__ |= (pSrc->minor << 0); + tmp123__ |= (pSrc->major << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp122__; + *pBuf = tmp123__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -22227,7 +22630,7 @@ uint32_t dot11f_pack_tlv_oce_cap(tpAniSirGlobal pCtx, uint8_t *pTlvLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp123__; + uint8_t tmp124__; nNeeded += 3; if (nNeeded > nBuf) return DOT11F_BUFFER_OVERFLOW; @@ -22236,15 +22639,15 @@ uint32_t dot11f_pack_tlv_oce_cap(tpAniSirGlobal pCtx, pBuf += 1; *pnConsumed += 1; pTlvLen = pBuf; pBuf += 1; *pnConsumed += 1; - tmp123__ = 0U; - tmp123__ |= (pSrc->oce_release << 0); - tmp123__ |= (pSrc->is_sta_cfon << 3); - tmp123__ |= (pSrc->non_oce_ap_present << 4); - tmp123__ |= (pSrc->reserved << 5); + tmp124__ = 0U; + tmp124__ |= (pSrc->oce_release << 0); + tmp124__ |= (pSrc->is_sta_cfon << 3); + tmp124__ |= (pSrc->non_oce_ap_present << 4); + tmp124__ |= (pSrc->reserved << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp123__; + *pBuf = tmp124__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -22298,7 +22701,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 tmp124__; + uint8_t tmp125__; nNeeded += 3; if (nNeeded > nBuf) return DOT11F_BUFFER_OVERFLOW; @@ -22307,13 +22710,13 @@ uint32_t dot11f_pack_tlv_reduced_wan_metrics(tpAniSirGlobal pCtx, pBuf += 1; *pnConsumed += 1; pTlvLen = pBuf; pBuf += 1; *pnConsumed += 1; - tmp124__ = 0U; - tmp124__ |= (pSrc->downlink_av_cap << 0); - tmp124__ |= (pSrc->uplink_av_cap << 4); + tmp125__ = 0U; + tmp125__ |= (pSrc->downlink_av_cap << 0); + tmp125__ |= (pSrc->uplink_av_cap << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp124__; + *pBuf = tmp125__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -22570,7 +22973,7 @@ uint32_t dot11f_pack_ie_gtk(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp125__; + uint16_t tmp126__; nNeeded += (pSrc->num_key + 11); while (pSrc->present) { if (nNeeded > nBuf) @@ -22579,13 +22982,13 @@ uint32_t dot11f_pack_ie_gtk(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp125__ = 0U; - tmp125__ |= (pSrc->keyId << 0); - tmp125__ |= (pSrc->reserved << 2); + tmp126__ = 0U; + tmp126__ |= (pSrc->keyId << 0); + tmp126__ |= (pSrc->reserved << 2); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp125__, 0); + frameshtons(pCtx, pBuf, tmp126__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -22994,11 +23397,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 tmp126__; uint8_t tmp127__; uint8_t tmp128__; uint8_t tmp129__; uint8_t tmp130__; + uint8_t tmp131__; nNeeded += 5; while (pSrc->present) { if (nNeeded > nBuf) @@ -23007,31 +23410,15 @@ uint32_t dot11f_pack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp126__ = 0U; - tmp126__ |= (pSrc->LinkMeasurement << 0); - tmp126__ |= (pSrc->NeighborRpt << 1); - tmp126__ |= (pSrc->parallel << 2); - tmp126__ |= (pSrc->repeated << 3); - tmp126__ |= (pSrc->BeaconPassive << 4); - tmp126__ |= (pSrc->BeaconActive << 5); - tmp126__ |= (pSrc->BeaconTable << 6); - tmp126__ |= (pSrc->BeaconRepCond << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp126__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; tmp127__ = 0U; - tmp127__ |= (pSrc->FrameMeasurement << 0); - tmp127__ |= (pSrc->ChannelLoad << 1); - tmp127__ |= (pSrc->NoiseHistogram << 2); - tmp127__ |= (pSrc->statistics << 3); - tmp127__ |= (pSrc->LCIMeasurement << 4); - tmp127__ |= (pSrc->LCIAzimuth << 5); - tmp127__ |= (pSrc->TCMCapability << 6); - tmp127__ |= (pSrc->triggeredTCM << 7); + tmp127__ |= (pSrc->LinkMeasurement << 0); + tmp127__ |= (pSrc->NeighborRpt << 1); + tmp127__ |= (pSrc->parallel << 2); + tmp127__ |= (pSrc->repeated << 3); + tmp127__ |= (pSrc->BeaconPassive << 4); + tmp127__ |= (pSrc->BeaconActive << 5); + tmp127__ |= (pSrc->BeaconTable << 6); + tmp127__ |= (pSrc->BeaconRepCond << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -23040,10 +23427,14 @@ uint32_t dot11f_pack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp128__ = 0U; - tmp128__ |= (pSrc->APChanReport << 0); - tmp128__ |= (pSrc->RRMMIBEnabled << 1); - tmp128__ |= (pSrc->operatingChanMax << 2); - tmp128__ |= (pSrc->nonOperatinChanMax << 5); + tmp128__ |= (pSrc->FrameMeasurement << 0); + tmp128__ |= (pSrc->ChannelLoad << 1); + tmp128__ |= (pSrc->NoiseHistogram << 2); + tmp128__ |= (pSrc->statistics << 3); + tmp128__ |= (pSrc->LCIMeasurement << 4); + tmp128__ |= (pSrc->LCIAzimuth << 5); + tmp128__ |= (pSrc->TCMCapability << 6); + tmp128__ |= (pSrc->triggeredTCM << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -23052,12 +23443,10 @@ uint32_t dot11f_pack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp129__ = 0U; - tmp129__ |= (pSrc->MeasurementPilot << 0); - tmp129__ |= (pSrc->MeasurementPilotEnabled << 3); - tmp129__ |= (pSrc->NeighborTSFOffset << 4); - tmp129__ |= (pSrc->RCPIMeasurement << 5); - tmp129__ |= (pSrc->RSNIMeasurement << 6); - tmp129__ |= (pSrc->BssAvgAccessDelay << 7); + tmp129__ |= (pSrc->APChanReport << 0); + tmp129__ |= (pSrc->RRMMIBEnabled << 1); + tmp129__ |= (pSrc->operatingChanMax << 2); + tmp129__ |= (pSrc->nonOperatinChanMax << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -23066,16 +23455,30 @@ uint32_t dot11f_pack_ie_rrm_enabled_cap(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp130__ = 0U; - tmp130__ |= (pSrc->BSSAvailAdmission << 0); - tmp130__ |= (pSrc->AntennaInformation << 1); - tmp130__ |= (pSrc->fine_time_meas_rpt << 2); - tmp130__ |= (pSrc->lci_capability << 3); - tmp130__ |= (pSrc->reserved << 4); + tmp130__ |= (pSrc->MeasurementPilot << 0); + tmp130__ |= (pSrc->MeasurementPilotEnabled << 3); + tmp130__ |= (pSrc->NeighborTSFOffset << 4); + tmp130__ |= (pSrc->RCPIMeasurement << 5); + tmp130__ |= (pSrc->RSNIMeasurement << 6); + tmp130__ |= (pSrc->BssAvgAccessDelay << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; *pBuf = tmp130__; *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp131__ = 0U; + tmp131__ |= (pSrc->BSSAvailAdmission << 0); + tmp131__ |= (pSrc->AntennaInformation << 1); + tmp131__ |= (pSrc->fine_time_meas_rpt << 2); + tmp131__ |= (pSrc->lci_capability << 3); + tmp131__ |= (pSrc->reserved << 4); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp131__; + *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; break; @@ -23154,7 +23557,7 @@ uint32_t dot11f_pack_ie_schedule(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp131__; + uint16_t tmp132__; nNeeded += 14; while (pSrc->present) { if (nNeeded > nBuf) @@ -23163,15 +23566,15 @@ uint32_t dot11f_pack_ie_schedule(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp131__ = 0U; - tmp131__ |= (pSrc->aggregation << 0); - tmp131__ |= (pSrc->tsid << 1); - tmp131__ |= (pSrc->direction << 5); - tmp131__ |= (pSrc->reserved << 7); + tmp132__ = 0U; + tmp132__ |= (pSrc->aggregation << 0); + tmp132__ |= (pSrc->tsid << 1); + tmp132__ |= (pSrc->direction << 5); + tmp132__ |= (pSrc->reserved << 7); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp131__, 0); + frameshtons(pCtx, pBuf, tmp132__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -23398,9 +23801,9 @@ uint32_t dot11f_pack_ie_tspec(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp132__; - uint8_t tmp133__; - uint16_t tmp134__; + uint16_t tmp133__; + uint8_t tmp134__; + uint16_t tmp135__; nNeeded += 55; while (pSrc->present) { if (nNeeded > nBuf) @@ -23409,39 +23812,39 @@ uint32_t dot11f_pack_ie_tspec(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp132__ = 0U; - tmp132__ |= (pSrc->traffic_type << 0); - tmp132__ |= (pSrc->tsid << 1); - tmp132__ |= (pSrc->direction << 5); - tmp132__ |= (pSrc->access_policy << 7); - tmp132__ |= (pSrc->aggregation << 9); - tmp132__ |= (pSrc->psb << 10); - tmp132__ |= (pSrc->user_priority << 11); - tmp132__ |= (pSrc->tsinfo_ack_pol << 14); + tmp133__ = 0U; + tmp133__ |= (pSrc->traffic_type << 0); + tmp133__ |= (pSrc->tsid << 1); + tmp133__ |= (pSrc->direction << 5); + tmp133__ |= (pSrc->access_policy << 7); + tmp133__ |= (pSrc->aggregation << 9); + tmp133__ |= (pSrc->psb << 10); + tmp133__ |= (pSrc->user_priority << 11); + tmp133__ |= (pSrc->tsinfo_ack_pol << 14); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp132__, 0); + frameshtons(pCtx, pBuf, tmp133__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; - tmp133__ = 0U; - tmp133__ |= (pSrc->schedule << 0); - tmp133__ |= (pSrc->unused << 1); + tmp134__ = 0U; + tmp134__ |= (pSrc->schedule << 0); + tmp134__ |= (pSrc->unused << 1); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp133__; + *pBuf = tmp134__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - tmp134__ = 0U; - tmp134__ |= (pSrc->size << 0); - tmp134__ |= (pSrc->fixed << 15); + tmp135__ = 0U; + tmp135__ |= (pSrc->size << 0); + tmp135__ |= (pSrc->fixed << 15); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp134__, 0); + frameshtons(pCtx, pBuf, tmp135__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -23505,9 +23908,9 @@ uint32_t dot11f_pack_ie_vht_caps(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint32_t tmp135__; - uint16_t tmp136__; + uint32_t tmp136__; uint16_t tmp137__; + uint16_t tmp138__; nNeeded += 12; while (pSrc->present) { if (nNeeded > nBuf) @@ -23516,58 +23919,58 @@ uint32_t dot11f_pack_ie_vht_caps(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp135__ = 0U; - tmp135__ |= (pSrc->maxMPDULen << 0); - tmp135__ |= (pSrc->supportedChannelWidthSet << 2); - tmp135__ |= (pSrc->ldpcCodingCap << 4); - tmp135__ |= (pSrc->shortGI80MHz << 5); - tmp135__ |= (pSrc->shortGI160and80plus80MHz << 6); - tmp135__ |= (pSrc->txSTBC << 7); - tmp135__ |= (pSrc->rxSTBC << 8); - tmp135__ |= (pSrc->suBeamFormerCap << 11); - tmp135__ |= (pSrc->suBeamformeeCap << 12); - tmp135__ |= (pSrc->csnofBeamformerAntSup << 13); - tmp135__ |= (pSrc->numSoundingDim << 16); - tmp135__ |= (pSrc->muBeamformerCap << 19); - tmp135__ |= (pSrc->muBeamformeeCap << 20); - tmp135__ |= (pSrc->vhtTXOPPS << 21); - tmp135__ |= (pSrc->htcVHTCap << 22); - tmp135__ |= (pSrc->maxAMPDULenExp << 23); - tmp135__ |= (pSrc->vhtLinkAdaptCap << 26); - tmp135__ |= (pSrc->rxAntPattern << 28); - tmp135__ |= (pSrc->txAntPattern << 29); - tmp135__ |= (pSrc->extended_nss_bw_supp << 30); + tmp136__ = 0U; + tmp136__ |= (pSrc->maxMPDULen << 0); + tmp136__ |= (pSrc->supportedChannelWidthSet << 2); + tmp136__ |= (pSrc->ldpcCodingCap << 4); + tmp136__ |= (pSrc->shortGI80MHz << 5); + tmp136__ |= (pSrc->shortGI160and80plus80MHz << 6); + tmp136__ |= (pSrc->txSTBC << 7); + tmp136__ |= (pSrc->rxSTBC << 8); + tmp136__ |= (pSrc->suBeamFormerCap << 11); + tmp136__ |= (pSrc->suBeamformeeCap << 12); + tmp136__ |= (pSrc->csnofBeamformerAntSup << 13); + tmp136__ |= (pSrc->numSoundingDim << 16); + tmp136__ |= (pSrc->muBeamformerCap << 19); + tmp136__ |= (pSrc->muBeamformeeCap << 20); + tmp136__ |= (pSrc->vhtTXOPPS << 21); + tmp136__ |= (pSrc->htcVHTCap << 22); + tmp136__ |= (pSrc->maxAMPDULenExp << 23); + tmp136__ |= (pSrc->vhtLinkAdaptCap << 26); + tmp136__ |= (pSrc->rxAntPattern << 28); + tmp136__ |= (pSrc->txAntPattern << 29); + tmp136__ |= (pSrc->extended_nss_bw_supp << 30); if (unlikely(nBuf < 4)) return DOT11F_INCOMPLETE_IE; - frameshtonl(pCtx, pBuf, tmp135__, 0); + frameshtonl(pCtx, pBuf, tmp136__, 0); *pnConsumed += 4; pBuf += 4; nBuf -= 4 ; frameshtons(pCtx, pBuf, pSrc->rxMCSMap, 0); *pnConsumed += 2; pBuf += 2; - tmp136__ = 0U; - tmp136__ |= (pSrc->rxHighSupDataRate << 0); - tmp136__ |= (pSrc->max_nsts_total << 13); + tmp137__ = 0U; + tmp137__ |= (pSrc->rxHighSupDataRate << 0); + tmp137__ |= (pSrc->max_nsts_total << 13); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp136__, 0); + frameshtons(pCtx, pBuf, tmp137__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; frameshtons(pCtx, pBuf, pSrc->txMCSMap, 0); *pnConsumed += 2; pBuf += 2; - tmp137__ = 0U; - tmp137__ |= (pSrc->txSupDataRate << 0); - tmp137__ |= (pSrc->vht_extended_nss_bw_cap << 13); - tmp137__ |= (pSrc->reserved << 14); + tmp138__ = 0U; + tmp138__ |= (pSrc->txSupDataRate << 0); + tmp138__ |= (pSrc->vht_extended_nss_bw_cap << 13); + tmp138__ |= (pSrc->reserved << 14); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp137__, 0); + frameshtons(pCtx, pBuf, tmp138__, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ nBuf -= 2 ; @@ -23627,7 +24030,7 @@ uint32_t dot11f_pack_ie_wmm_schedule(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp138__; + uint16_t tmp139__; nNeeded += 15; while (pSrc->present) { if (nNeeded > nBuf) @@ -23649,15 +24052,15 @@ uint32_t dot11f_pack_ie_wmm_schedule(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *pnConsumed += 1; pBuf += 1; - tmp138__ = 0U; - tmp138__ |= (pSrc->aggregation << 0); - tmp138__ |= (pSrc->tsid << 1); - tmp138__ |= (pSrc->direction << 5); - tmp138__ |= (pSrc->reserved << 7); + tmp139__ = 0U; + tmp139__ |= (pSrc->aggregation << 0); + tmp139__ |= (pSrc->tsid << 1); + tmp139__ |= (pSrc->direction << 5); + tmp139__ |= (pSrc->reserved << 7); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp138__, 0); + frameshtons(pCtx, pBuf, tmp139__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -23891,9 +24294,9 @@ uint32_t dot11f_pack_ie_wmmtspec(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp139__; - uint8_t tmp140__; - uint16_t tmp141__; + uint16_t tmp140__; + uint8_t tmp141__; + uint16_t tmp142__; nNeeded += 38; while (pSrc->present) { if (nNeeded > nBuf) @@ -23915,39 +24318,39 @@ uint32_t dot11f_pack_ie_wmmtspec(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *pnConsumed += 1; pBuf += 1; - tmp139__ = 0U; - tmp139__ |= (pSrc->traffic_type << 0); - tmp139__ |= (pSrc->tsid << 1); - tmp139__ |= (pSrc->direction << 5); - tmp139__ |= (pSrc->access_policy << 7); - tmp139__ |= (pSrc->aggregation << 9); - tmp139__ |= (pSrc->psb << 10); - tmp139__ |= (pSrc->user_priority << 11); - tmp139__ |= (pSrc->tsinfo_ack_pol << 14); + tmp140__ = 0U; + tmp140__ |= (pSrc->traffic_type << 0); + tmp140__ |= (pSrc->tsid << 1); + tmp140__ |= (pSrc->direction << 5); + tmp140__ |= (pSrc->access_policy << 7); + tmp140__ |= (pSrc->aggregation << 9); + tmp140__ |= (pSrc->psb << 10); + tmp140__ |= (pSrc->user_priority << 11); + tmp140__ |= (pSrc->tsinfo_ack_pol << 14); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp139__, 0); + frameshtons(pCtx, pBuf, tmp140__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; - tmp140__ = 0U; - tmp140__ |= (pSrc->tsinfo_rsvd << 0); - tmp140__ |= (pSrc->burst_size_defn << 7); + tmp141__ = 0U; + tmp141__ |= (pSrc->tsinfo_rsvd << 0); + tmp141__ |= (pSrc->burst_size_defn << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp140__; + *pBuf = tmp141__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - tmp141__ = 0U; - tmp141__ |= (pSrc->size << 0); - tmp141__ |= (pSrc->fixed << 15); + tmp142__ = 0U; + tmp142__ |= (pSrc->size << 0); + tmp142__ |= (pSrc->fixed << 15); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp141__, 0); + frameshtons(pCtx, pBuf, tmp142__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -24075,7 +24478,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 tmp142__; + uint16_t tmp143__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -24084,14 +24487,14 @@ uint32_t dot11f_pack_ie_beacon_report_frm_body_fragment_id(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp142__ = 0U; - tmp142__ |= (pSrc->beacon_report_id << 0); - tmp142__ |= (pSrc->fragment_id_number << 8); - tmp142__ |= (pSrc->more_fragments << 15); + tmp143__ = 0U; + tmp143__ |= (pSrc->beacon_report_id << 0); + tmp143__ |= (pSrc->fragment_id_number << 8); + tmp143__ |= (pSrc->more_fragments << 15); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp142__, 0); + frameshtons(pCtx, pBuf, tmp143__, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ nBuf -= 2 ; @@ -24200,8 +24603,8 @@ uint32_t dot11f_pack_ie_neighbor_rpt(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp143__; uint8_t tmp144__; + uint8_t tmp145__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_neighbor_rpt(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -24216,26 +24619,14 @@ uint32_t dot11f_pack_ie_neighbor_rpt(tpAniSirGlobal pCtx, DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6); *pnConsumed += 6; pBuf += 6; - tmp143__ = 0U; - tmp143__ |= (pSrc->APReachability << 0); - tmp143__ |= (pSrc->Security << 2); - tmp143__ |= (pSrc->KeyScope << 3); - tmp143__ |= (pSrc->SpecMgmtCap << 4); - tmp143__ |= (pSrc->QosCap << 5); - tmp143__ |= (pSrc->apsd << 6); - tmp143__ |= (pSrc->rrm << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp143__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; tmp144__ = 0U; - tmp144__ |= (pSrc->DelayedBA << 0); - tmp144__ |= (pSrc->ImmBA << 1); - tmp144__ |= (pSrc->MobilityDomain << 2); - tmp144__ |= (pSrc->reserved << 3); + tmp144__ |= (pSrc->APReachability << 0); + tmp144__ |= (pSrc->Security << 2); + tmp144__ |= (pSrc->KeyScope << 3); + tmp144__ |= (pSrc->SpecMgmtCap << 4); + tmp144__ |= (pSrc->QosCap << 5); + tmp144__ |= (pSrc->apsd << 6); + tmp144__ |= (pSrc->rrm << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -24243,6 +24634,18 @@ uint32_t dot11f_pack_ie_neighbor_rpt(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; + tmp145__ = 0U; + tmp145__ |= (pSrc->DelayedBA << 0); + tmp145__ |= (pSrc->ImmBA << 1); + tmp145__ |= (pSrc->MobilityDomain << 2); + tmp145__ |= (pSrc->reserved << 3); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp145__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; frameshtons(pCtx, pBuf, pSrc->reserved1, 0); *pnConsumed += 2; pBuf += 2; @@ -24271,6 +24674,49 @@ uint32_t dot11f_pack_ie_neighbor_rpt(tpAniSirGlobal pCtx, return status; } /* End dot11f_pack_ie_neighbor_rpt. */ +uint32_t dot11f_pack_ie_reporting_reason(tpAniSirGlobal pCtx, + tDot11fIEreporting_reason *pSrc, + uint8_t *pBuf, + uint32_t nBuf, + uint32_t *pnConsumed) +{ + uint8_t *pIeLen = 0; + uint32_t nConsumedOnEntry = *pnConsumed; + uint32_t nNeeded = 0U; + uint8_t tmp146__; + nNeeded += 1; + while (pSrc->present) { + if (nNeeded > nBuf) + return DOT11F_BUFFER_OVERFLOW; + *pBuf = 1; + ++pBuf; ++(*pnConsumed); + pIeLen = pBuf; + ++pBuf; ++(*pnConsumed); + tmp146__ = 0U; + tmp146__ |= (pSrc->failed_count << 0); + tmp146__ |= (pSrc->fcs_error << 1); + tmp146__ |= (pSrc->multiple_retry << 2); + tmp146__ |= (pSrc->frame_duplicate << 3); + tmp146__ |= (pSrc->rts_failure << 4); + tmp146__ |= (pSrc->ack_failure << 5); + tmp146__ |= (pSrc->retry << 6); + tmp146__ |= (pSrc->reserved << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp146__; + *pnConsumed += 1; + /* fieldsEndFlag = 1 */ + nBuf -= 1 ; + break; + } + (void)pCtx; + if (pIeLen) { + *pIeLen = *pnConsumed - nConsumedOnEntry - 2; + } + return DOT11F_PARSE_SUCCESS; +} /* End dot11f_pack_ie_reporting_reason. */ + uint32_t dot11f_pack_ie_req_mac_addr(tpAniSirGlobal pCtx, tDot11fIEreq_mac_addr *pSrc, uint8_t *pBuf, @@ -24382,7 +24828,7 @@ uint32_t dot11f_pack_ie_transmit_power_env(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp145__; + uint8_t tmp147__; nNeeded += (pSrc->num_tx_power + 1); while (pSrc->present) { if (nNeeded > nBuf) @@ -24391,14 +24837,14 @@ uint32_t dot11f_pack_ie_transmit_power_env(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp145__ = 0U; - tmp145__ |= (pSrc->max_tx_pwr_count << 0); - tmp145__ |= (pSrc->max_tx_pwr_interpret << 3); - tmp145__ |= (pSrc->max_tx_pwr_category << 6); + tmp147__ = 0U; + tmp147__ |= (pSrc->max_tx_pwr_count << 0); + tmp147__ |= (pSrc->max_tx_pwr_interpret << 3); + tmp147__ |= (pSrc->max_tx_pwr_category << 6); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp145__; + *pBuf = tmp147__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -24661,14 +25107,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 tmp146__; - uint8_t tmp147__; uint8_t tmp148__; uint8_t tmp149__; uint8_t tmp150__; uint8_t tmp151__; uint8_t tmp152__; uint8_t tmp153__; + uint8_t tmp154__; + uint8_t tmp155__; nNeeded += 18; while (pSrc->present) { if (nNeeded > nBuf) @@ -24683,36 +25129,11 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, *pBuf = pSrc->reserved; *pnConsumed += 1; pBuf += 1; - tmp146__ = 0U; - tmp146__ |= (pSrc->acbe_aifsn << 0); - tmp146__ |= (pSrc->acbe_acm << 4); - tmp146__ |= (pSrc->acbe_aci << 5); - tmp146__ |= (pSrc->unused1 << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp146__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - tmp147__ = 0U; - tmp147__ |= (pSrc->acbe_acwmin << 0); - tmp147__ |= (pSrc->acbe_acwmax << 4); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp147__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0); - *pnConsumed += 2; - pBuf += 2; tmp148__ = 0U; - tmp148__ |= (pSrc->acbk_aifsn << 0); - tmp148__ |= (pSrc->acbk_acm << 4); - tmp148__ |= (pSrc->acbk_aci << 5); - tmp148__ |= (pSrc->unused2 << 7); + tmp148__ |= (pSrc->acbe_aifsn << 0); + tmp148__ |= (pSrc->acbe_acm << 4); + tmp148__ |= (pSrc->acbe_aci << 5); + tmp148__ |= (pSrc->unused1 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -24721,8 +25142,8 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp149__ = 0U; - tmp149__ |= (pSrc->acbk_acwmin << 0); - tmp149__ |= (pSrc->acbk_acwmax << 4); + tmp149__ |= (pSrc->acbe_acwmin << 0); + tmp149__ |= (pSrc->acbe_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -24730,14 +25151,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; tmp150__ = 0U; - tmp150__ |= (pSrc->acvi_aifsn << 0); - tmp150__ |= (pSrc->acvi_acm << 4); - tmp150__ |= (pSrc->acvi_aci << 5); - tmp150__ |= (pSrc->unused3 << 7); + tmp150__ |= (pSrc->acbk_aifsn << 0); + tmp150__ |= (pSrc->acbk_acm << 4); + tmp150__ |= (pSrc->acbk_aci << 5); + tmp150__ |= (pSrc->unused2 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -24746,8 +25167,8 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp151__ = 0U; - tmp151__ |= (pSrc->acvi_acwmin << 0); - tmp151__ |= (pSrc->acvi_acwmax << 4); + tmp151__ |= (pSrc->acbk_acwmin << 0); + tmp151__ |= (pSrc->acbk_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -24755,14 +25176,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; tmp152__ = 0U; - tmp152__ |= (pSrc->acvo_aifsn << 0); - tmp152__ |= (pSrc->acvo_acm << 4); - tmp152__ |= (pSrc->acvo_aci << 5); - tmp152__ |= (pSrc->unused4 << 7); + tmp152__ |= (pSrc->acvi_aifsn << 0); + tmp152__ |= (pSrc->acvi_acm << 4); + tmp152__ |= (pSrc->acvi_aci << 5); + tmp152__ |= (pSrc->unused3 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -24771,8 +25192,8 @@ uint32_t dot11f_pack_ie_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp153__ = 0U; - tmp153__ |= (pSrc->acvo_acwmin << 0); - tmp153__ |= (pSrc->acvo_acwmax << 4); + tmp153__ |= (pSrc->acvi_acwmin << 0); + tmp153__ |= (pSrc->acvi_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -24780,6 +25201,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; + tmp154__ = 0U; + tmp154__ |= (pSrc->acvo_aifsn << 0); + tmp154__ |= (pSrc->acvo_acm << 4); + tmp154__ |= (pSrc->acvo_aci << 5); + tmp154__ |= (pSrc->unused4 << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp154__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp155__ = 0U; + tmp155__ |= (pSrc->acvo_acwmin << 0); + tmp155__ |= (pSrc->acvo_acwmax << 4); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp155__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; frameshtons(pCtx, pBuf, pSrc->acvo_txoplimit, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ @@ -24801,7 +25247,7 @@ uint32_t dot11f_pack_ie_erp_info(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) @@ -24810,15 +25256,15 @@ uint32_t dot11f_pack_ie_erp_info(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp154__ = 0U; - tmp154__ |= (pSrc->non_erp_present << 0); - tmp154__ |= (pSrc->use_prot << 1); - tmp154__ |= (pSrc->barker_preamble << 2); - tmp154__ |= (pSrc->unused << 3); + tmp156__ = 0U; + tmp156__ |= (pSrc->non_erp_present << 0); + tmp156__ |= (pSrc->use_prot << 1); + tmp156__ |= (pSrc->barker_preamble << 2); + tmp156__ |= (pSrc->unused << 3); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp154__; + *pBuf = tmp156__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -24877,7 +25323,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 tmp155__; + uint8_t tmp157__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -24897,13 +25343,13 @@ uint32_t dot11f_pack_ie_ese_rad_mgmt_cap(tpAniSirGlobal pCtx, *pBuf = pSrc->mgmt_state; *pnConsumed += 1; pBuf += 1; - tmp155__ = 0U; - tmp155__ |= (pSrc->mbssid_mask << 0); - tmp155__ |= (pSrc->reserved << 3); + tmp157__ = 0U; + tmp157__ |= (pSrc->mbssid_mask << 0); + tmp157__ |= (pSrc->reserved << 3); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp155__; + *pBuf = tmp157__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -25254,7 +25700,7 @@ uint32_t dot11f_pack_ie_ft_info(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp156__; + uint16_t tmp158__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ieft_info(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -25266,13 +25712,13 @@ uint32_t dot11f_pack_ie_ft_info(tpAniSirGlobal pCtx, ++pBuf; --nBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; --nBuf; ++(*pnConsumed); - tmp156__ = 0U; - tmp156__ |= (pSrc->reserved << 0); - tmp156__ |= (pSrc->IECount << 8); + tmp158__ = 0U; + tmp158__ |= (pSrc->reserved << 0); + tmp158__ |= (pSrc->IECount << 8); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp156__, 0); + frameshtons(pCtx, pBuf, tmp158__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -25310,11 +25756,11 @@ uint32_t dot11f_pack_ie_ht_caps(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp157__; - uint8_t tmp158__; uint16_t tmp159__; - uint32_t tmp160__; - uint8_t tmp161__; + uint8_t tmp160__; + uint16_t tmp161__; + uint32_t tmp162__; + uint8_t tmp163__; nNeeded += (pSrc->num_rsvd + 26); while (pSrc->present) { if (nNeeded > nBuf) @@ -25323,48 +25769,21 @@ uint32_t dot11f_pack_ie_ht_caps(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp157__ = 0U; - tmp157__ |= (pSrc->advCodingCap << 0); - tmp157__ |= (pSrc->supportedChannelWidthSet << 1); - tmp157__ |= (pSrc->mimoPowerSave << 2); - tmp157__ |= (pSrc->greenField << 4); - tmp157__ |= (pSrc->shortGI20MHz << 5); - tmp157__ |= (pSrc->shortGI40MHz << 6); - tmp157__ |= (pSrc->txSTBC << 7); - tmp157__ |= (pSrc->rxSTBC << 8); - tmp157__ |= (pSrc->delayedBA << 10); - tmp157__ |= (pSrc->maximalAMSDUsize << 11); - tmp157__ |= (pSrc->dsssCckMode40MHz << 12); - tmp157__ |= (pSrc->psmp << 13); - tmp157__ |= (pSrc->stbcControlFrame << 14); - tmp157__ |= (pSrc->lsigTXOPProtection << 15); - if (unlikely(nBuf < 2)) - return DOT11F_INCOMPLETE_IE; - - frameshtons(pCtx, pBuf, tmp157__, 0); - *pnConsumed += 2; - pBuf += 2; - nBuf -= 2 ; - tmp158__ = 0U; - tmp158__ |= (pSrc->maxRxAMPDUFactor << 0); - tmp158__ |= (pSrc->mpduDensity << 2); - tmp158__ |= (pSrc->reserved1 << 5); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp158__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - DOT11F_MEMCPY(pCtx, pBuf, pSrc->supportedMCSSet, 16); - *pnConsumed += 16; - pBuf += 16; tmp159__ = 0U; - tmp159__ |= (pSrc->pco << 0); - tmp159__ |= (pSrc->transitionTime << 1); - tmp159__ |= (pSrc->reserved2 << 3); - tmp159__ |= (pSrc->mcsFeedback << 8); - tmp159__ |= (pSrc->reserved3 << 10); + tmp159__ |= (pSrc->advCodingCap << 0); + tmp159__ |= (pSrc->supportedChannelWidthSet << 1); + tmp159__ |= (pSrc->mimoPowerSave << 2); + tmp159__ |= (pSrc->greenField << 4); + tmp159__ |= (pSrc->shortGI20MHz << 5); + tmp159__ |= (pSrc->shortGI40MHz << 6); + tmp159__ |= (pSrc->txSTBC << 7); + tmp159__ |= (pSrc->rxSTBC << 8); + tmp159__ |= (pSrc->delayedBA << 10); + tmp159__ |= (pSrc->maximalAMSDUsize << 11); + tmp159__ |= (pSrc->dsssCckMode40MHz << 12); + tmp159__ |= (pSrc->psmp << 13); + tmp159__ |= (pSrc->stbcControlFrame << 14); + tmp159__ |= (pSrc->lsigTXOPProtection << 15); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; @@ -25373,42 +25792,69 @@ uint32_t dot11f_pack_ie_ht_caps(tpAniSirGlobal pCtx, pBuf += 2; nBuf -= 2 ; tmp160__ = 0U; - tmp160__ |= (pSrc->txBF << 0); - tmp160__ |= (pSrc->rxStaggeredSounding << 1); - tmp160__ |= (pSrc->txStaggeredSounding << 2); - tmp160__ |= (pSrc->rxZLF << 3); - tmp160__ |= (pSrc->txZLF << 4); - tmp160__ |= (pSrc->implicitTxBF << 5); - tmp160__ |= (pSrc->calibration << 6); - tmp160__ |= (pSrc->explicitCSITxBF << 8); - tmp160__ |= (pSrc->explicitUncompressedSteeringMatrix << 9); - tmp160__ |= (pSrc->explicitBFCSIFeedback << 10); - tmp160__ |= (pSrc->explicitUncompressedSteeringMatrixFeedback << 13); - tmp160__ |= (pSrc->explicitCompressedSteeringMatrixFeedback << 16); - tmp160__ |= (pSrc->csiNumBFAntennae << 19); - tmp160__ |= (pSrc->uncompressedSteeringMatrixBFAntennae << 21); - tmp160__ |= (pSrc->compressedSteeringMatrixBFAntennae << 23); - tmp160__ |= (pSrc->reserved4 << 25); - if (unlikely(nBuf < 4)) - return DOT11F_INCOMPLETE_IE; - - frameshtonl(pCtx, pBuf, tmp160__, 0); - *pnConsumed += 4; - pBuf += 4; - nBuf -= 4 ; - tmp161__ = 0U; - tmp161__ |= (pSrc->antennaSelection << 0); - tmp161__ |= (pSrc->explicitCSIFeedbackTx << 1); - tmp161__ |= (pSrc->antennaIndicesFeedbackTx << 2); - tmp161__ |= (pSrc->explicitCSIFeedback << 3); - tmp161__ |= (pSrc->antennaIndicesFeedback << 4); - tmp161__ |= (pSrc->rxAS << 5); - tmp161__ |= (pSrc->txSoundingPPDUs << 6); - tmp161__ |= (pSrc->reserved5 << 7); + tmp160__ |= (pSrc->maxRxAMPDUFactor << 0); + tmp160__ |= (pSrc->mpduDensity << 2); + tmp160__ |= (pSrc->reserved1 << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp161__; + *pBuf = tmp160__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + DOT11F_MEMCPY(pCtx, pBuf, pSrc->supportedMCSSet, 16); + *pnConsumed += 16; + pBuf += 16; + tmp161__ = 0U; + tmp161__ |= (pSrc->pco << 0); + tmp161__ |= (pSrc->transitionTime << 1); + tmp161__ |= (pSrc->reserved2 << 3); + tmp161__ |= (pSrc->mcsFeedback << 8); + tmp161__ |= (pSrc->reserved3 << 10); + if (unlikely(nBuf < 2)) + return DOT11F_INCOMPLETE_IE; + + frameshtons(pCtx, pBuf, tmp161__, 0); + *pnConsumed += 2; + pBuf += 2; + nBuf -= 2 ; + tmp162__ = 0U; + tmp162__ |= (pSrc->txBF << 0); + tmp162__ |= (pSrc->rxStaggeredSounding << 1); + tmp162__ |= (pSrc->txStaggeredSounding << 2); + tmp162__ |= (pSrc->rxZLF << 3); + tmp162__ |= (pSrc->txZLF << 4); + tmp162__ |= (pSrc->implicitTxBF << 5); + tmp162__ |= (pSrc->calibration << 6); + tmp162__ |= (pSrc->explicitCSITxBF << 8); + tmp162__ |= (pSrc->explicitUncompressedSteeringMatrix << 9); + tmp162__ |= (pSrc->explicitBFCSIFeedback << 10); + tmp162__ |= (pSrc->explicitUncompressedSteeringMatrixFeedback << 13); + tmp162__ |= (pSrc->explicitCompressedSteeringMatrixFeedback << 16); + tmp162__ |= (pSrc->csiNumBFAntennae << 19); + tmp162__ |= (pSrc->uncompressedSteeringMatrixBFAntennae << 21); + tmp162__ |= (pSrc->compressedSteeringMatrixBFAntennae << 23); + tmp162__ |= (pSrc->reserved4 << 25); + if (unlikely(nBuf < 4)) + return DOT11F_INCOMPLETE_IE; + + frameshtonl(pCtx, pBuf, tmp162__, 0); + *pnConsumed += 4; + pBuf += 4; + nBuf -= 4 ; + tmp163__ = 0U; + tmp163__ |= (pSrc->antennaSelection << 0); + tmp163__ |= (pSrc->explicitCSIFeedbackTx << 1); + tmp163__ |= (pSrc->antennaIndicesFeedbackTx << 2); + tmp163__ |= (pSrc->explicitCSIFeedback << 3); + tmp163__ |= (pSrc->antennaIndicesFeedback << 4); + tmp163__ |= (pSrc->rxAS << 5); + tmp163__ |= (pSrc->txSoundingPPDUs << 6); + tmp163__ |= (pSrc->reserved5 << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp163__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -25433,9 +25879,9 @@ uint32_t dot11f_pack_ie_ht_info(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp162__; - uint16_t tmp163__; - uint16_t tmp164__; + uint8_t tmp164__; + uint16_t tmp165__; + uint16_t tmp166__; nNeeded += (pSrc->num_rsvd + 22); while (pSrc->present) { if (nNeeded > nBuf) @@ -25447,45 +25893,45 @@ uint32_t dot11f_pack_ie_ht_info(tpAniSirGlobal pCtx, *pBuf = pSrc->primaryChannel; *pnConsumed += 1; pBuf += 1; - tmp162__ = 0U; - tmp162__ |= (pSrc->secondaryChannelOffset << 0); - tmp162__ |= (pSrc->recommendedTxWidthSet << 2); - tmp162__ |= (pSrc->rifsMode << 3); - tmp162__ |= (pSrc->controlledAccessOnly << 4); - tmp162__ |= (pSrc->serviceIntervalGranularity << 5); + tmp164__ = 0U; + tmp164__ |= (pSrc->secondaryChannelOffset << 0); + tmp164__ |= (pSrc->recommendedTxWidthSet << 2); + tmp164__ |= (pSrc->rifsMode << 3); + tmp164__ |= (pSrc->controlledAccessOnly << 4); + tmp164__ |= (pSrc->serviceIntervalGranularity << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp162__; + *pBuf = tmp164__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - tmp163__ = 0U; - tmp163__ |= (pSrc->opMode << 0); - tmp163__ |= (pSrc->nonGFDevicesPresent << 2); - tmp163__ |= (pSrc->transmitBurstLimit << 3); - tmp163__ |= (pSrc->obssNonHTStaPresent << 4); - tmp163__ |= (pSrc->chan_center_freq_seg2 << 5); - tmp163__ |= (pSrc->reserved << 13); + tmp165__ = 0U; + tmp165__ |= (pSrc->opMode << 0); + tmp165__ |= (pSrc->nonGFDevicesPresent << 2); + tmp165__ |= (pSrc->transmitBurstLimit << 3); + tmp165__ |= (pSrc->obssNonHTStaPresent << 4); + tmp165__ |= (pSrc->chan_center_freq_seg2 << 5); + tmp165__ |= (pSrc->reserved << 13); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp163__, 0); + frameshtons(pCtx, pBuf, tmp165__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; - tmp164__ = 0U; - tmp164__ |= (pSrc->basicSTBCMCS << 0); - tmp164__ |= (pSrc->dualCTSProtection << 7); - tmp164__ |= (pSrc->secondaryBeacon << 8); - tmp164__ |= (pSrc->lsigTXOPProtectionFullSupport << 9); - tmp164__ |= (pSrc->pcoActive << 10); - tmp164__ |= (pSrc->pcoPhase << 11); - tmp164__ |= (pSrc->reserved2 << 12); + tmp166__ = 0U; + tmp166__ |= (pSrc->basicSTBCMCS << 0); + tmp166__ |= (pSrc->dualCTSProtection << 7); + tmp166__ |= (pSrc->secondaryBeacon << 8); + tmp166__ |= (pSrc->lsigTXOPProtectionFullSupport << 9); + tmp166__ |= (pSrc->pcoActive << 10); + tmp166__ |= (pSrc->pcoPhase << 11); + tmp166__ |= (pSrc->reserved2 << 12); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp164__, 0); + frameshtons(pCtx, pBuf, tmp166__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -25596,9 +26042,9 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp165__; - uint8_t tmp166__; uint8_t tmp167__; + uint8_t tmp168__; + uint8_t tmp169__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_measurement_report(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -25613,15 +26059,15 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, *pBuf = pSrc->token; *pnConsumed += 1; pBuf += 1; - tmp165__ = 0U; - tmp165__ |= (pSrc->late << 0); - tmp165__ |= (pSrc->incapable << 1); - tmp165__ |= (pSrc->refused << 2); - tmp165__ |= (pSrc->unused << 3); + tmp167__ = 0U; + tmp167__ |= (pSrc->late << 0); + tmp167__ |= (pSrc->incapable << 1); + tmp167__ |= (pSrc->refused << 2); + tmp167__ |= (pSrc->unused << 3); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp165__; + *pBuf = tmp167__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -25640,17 +26086,17 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, frameshtons(pCtx, pBuf, pSrc->report.Basic.meas_duration, 0); *pnConsumed += 2; pBuf += 2; - tmp166__ = 0U; - tmp166__ |= (pSrc->report.Basic.bss << 0); - tmp166__ |= (pSrc->report.Basic.ofdm_preamble << 1); - tmp166__ |= (pSrc->report.Basic.unid_signal << 2); - tmp166__ |= (pSrc->report.Basic.rader << 3); - tmp166__ |= (pSrc->report.Basic.unmeasured << 4); - tmp166__ |= (pSrc->report.Basic.unused << 5); + tmp168__ = 0U; + tmp168__ |= (pSrc->report.Basic.bss << 0); + tmp168__ |= (pSrc->report.Basic.ofdm_preamble << 1); + tmp168__ |= (pSrc->report.Basic.unid_signal << 2); + tmp168__ |= (pSrc->report.Basic.rader << 3); + tmp168__ |= (pSrc->report.Basic.unmeasured << 4); + tmp168__ |= (pSrc->report.Basic.unused << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp166__; + *pBuf = tmp168__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -25717,13 +26163,13 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, frameshtons(pCtx, pBuf, pSrc->report.Beacon.meas_duration, 0); *pnConsumed += 2; pBuf += 2; - tmp167__ = 0U; - tmp167__ |= (pSrc->report.Beacon.condensed_PHY << 0); - tmp167__ |= (pSrc->report.Beacon.reported_frame_type << 7); + tmp169__ = 0U; + tmp169__ |= (pSrc->report.Beacon.condensed_PHY << 0); + tmp169__ |= (pSrc->report.Beacon.reported_frame_type << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp167__; + *pBuf = tmp169__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -25750,6 +26196,130 @@ uint32_t dot11f_pack_ie_measurement_report(tpAniSirGlobal pCtx, FFS_reportBeacon, IES_reportBeacon); break; + case 7: + frameshtons(pCtx, pBuf, pSrc->report.sta_stats.meas_duration, 0); + *pnConsumed += 2; + pBuf += 2; + *pBuf = pSrc->report.sta_stats.group_id; + *pnConsumed += 1; + pBuf += 1; + switch (pSrc->report.sta_stats.group_id) { + case 0: + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_counter_stats.transmitted_fragment_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_counter_stats.group_transmitted_frame_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_counter_stats.failed_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_counter_stats.received_fragment_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_counter_stats.group_received_frame_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_counter_stats.fcs_error_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_counter_stats.transmitted_frame_count, 0); + *pnConsumed += 4; + pBuf += 4; + break; + case 1: + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_mac_stats.retry_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_mac_stats.multiple_retry_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_mac_stats.frame_duplicate_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_mac_stats.rts_success_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_mac_stats.rts_failure_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_mac_stats.ack_failure_count, 0); + *pnConsumed += 4; + pBuf += 4; + break; + case 2: + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_transmitted_fragment_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_failed_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_retry_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_multiple_retry_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_frame_duplicate_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_rts_success_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_rts_failure_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_ack_failure_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_received_fragment_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_transmitted_frame_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_discarded_frame_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_mpdus_received_count, 0); + *pnConsumed += 4; + pBuf += 4; + frameshtonl(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_qos_counter.qos_retries_received_count, 0); + *pnConsumed += 4; + pBuf += 4; + break; + case 10: + frameshtons(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.ap_average_access_delay, 0); + *pnConsumed += 2; + pBuf += 2; + frameshtons(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.average_access_delay_besteffort, 0); + *pnConsumed += 2; + pBuf += 2; + frameshtons(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.average_access_delay_background, 0); + *pnConsumed += 2; + pBuf += 2; + frameshtons(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.average_access_delay_video, 0); + *pnConsumed += 2; + pBuf += 2; + frameshtons(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.average_access_delay_voice, 0); + *pnConsumed += 2; + pBuf += 2; + frameshtons(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.station_count, 0); + *pnConsumed += 2; + pBuf += 2; + frameshtons(pCtx, pBuf, pSrc->report.sta_stats.statsgroupdata.dot11_bss_average_access_delay.channel_utilization, 0); + *pnConsumed += 2; + pBuf += 2; + break; + } + status = pack_core(pCtx, + (uint8_t *)pSrc, + pBuf, + nBuf, + pnConsumed, + FFS_reportsta_stats, + IES_reportsta_stats); + break; } } else { break; @@ -25772,7 +26342,7 @@ uint32_t dot11f_pack_ie_measurement_request(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp168__; + uint8_t tmp170__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_measurement_request(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -25787,17 +26357,17 @@ uint32_t dot11f_pack_ie_measurement_request(tpAniSirGlobal pCtx, *pBuf = pSrc->measurement_token; *pnConsumed += 1; pBuf += 1; - tmp168__ = 0U; - tmp168__ |= (pSrc->parallel << 0); - tmp168__ |= (pSrc->enable << 1); - tmp168__ |= (pSrc->request << 2); - tmp168__ |= (pSrc->report << 3); - tmp168__ |= (pSrc->durationMandatory << 4); - tmp168__ |= (pSrc->unused << 5); + tmp170__ = 0U; + tmp170__ |= (pSrc->parallel << 0); + tmp170__ |= (pSrc->enable << 1); + tmp170__ |= (pSrc->request << 2); + tmp170__ |= (pSrc->report << 3); + tmp170__ |= (pSrc->durationMandatory << 4); + tmp170__ |= (pSrc->unused << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp168__; + *pBuf = tmp170__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -25911,7 +26481,7 @@ uint32_t dot11f_pack_ie_mobility_domain(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp169__; + uint8_t tmp171__; nNeeded += 3; while (pSrc->present) { if (nNeeded > nBuf) @@ -25923,14 +26493,14 @@ uint32_t dot11f_pack_ie_mobility_domain(tpAniSirGlobal pCtx, frameshtons(pCtx, pBuf, pSrc->MDID, 0); *pnConsumed += 2; pBuf += 2; - tmp169__ = 0U; - tmp169__ |= (pSrc->overDSCap << 0); - tmp169__ |= (pSrc->resourceReqCap << 1); - tmp169__ |= (pSrc->reserved << 2); + tmp171__ = 0U; + tmp171__ |= (pSrc->overDSCap << 0); + tmp171__ |= (pSrc->resourceReqCap << 1); + tmp171__ |= (pSrc->reserved << 2); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp169__; + *pBuf = tmp171__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -25952,8 +26522,8 @@ uint32_t dot11f_pack_ie_neighbor_report(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp170__; - uint8_t tmp171__; + uint8_t tmp172__; + uint8_t tmp173__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_neighbor_report(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -25968,30 +26538,30 @@ uint32_t dot11f_pack_ie_neighbor_report(tpAniSirGlobal pCtx, DOT11F_MEMCPY(pCtx, pBuf, pSrc->bssid, 6); *pnConsumed += 6; pBuf += 6; - tmp170__ = 0U; - tmp170__ |= (pSrc->APReachability << 0); - tmp170__ |= (pSrc->Security << 2); - tmp170__ |= (pSrc->KeyScope << 3); - tmp170__ |= (pSrc->SpecMgmtCap << 4); - tmp170__ |= (pSrc->QosCap << 5); - tmp170__ |= (pSrc->apsd << 6); - tmp170__ |= (pSrc->rrm << 7); + tmp172__ = 0U; + tmp172__ |= (pSrc->APReachability << 0); + tmp172__ |= (pSrc->Security << 2); + tmp172__ |= (pSrc->KeyScope << 3); + tmp172__ |= (pSrc->SpecMgmtCap << 4); + tmp172__ |= (pSrc->QosCap << 5); + tmp172__ |= (pSrc->apsd << 6); + tmp172__ |= (pSrc->rrm << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp170__; + *pBuf = tmp172__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - tmp171__ = 0U; - tmp171__ |= (pSrc->DelayedBA << 0); - tmp171__ |= (pSrc->ImmBA << 1); - tmp171__ |= (pSrc->MobilityDomain << 2); - tmp171__ |= (pSrc->reserved << 3); + tmp173__ = 0U; + tmp173__ |= (pSrc->DelayedBA << 0); + tmp173__ |= (pSrc->ImmBA << 1); + tmp173__ |= (pSrc->MobilityDomain << 2); + tmp173__ |= (pSrc->reserved << 3); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp171__; + *pBuf = tmp173__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -26079,7 +26649,7 @@ uint32_t dot11f_pack_ie_operating_mode(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp172__; + uint8_t tmp174__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -26088,16 +26658,16 @@ uint32_t dot11f_pack_ie_operating_mode(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp172__ = 0U; - tmp172__ |= (pSrc->chanWidth << 0); - tmp172__ |= (pSrc->vht_160_80p80_supp << 2); - tmp172__ |= (pSrc->no_ldpc << 3); - tmp172__ |= (pSrc->rxNSS << 4); - tmp172__ |= (pSrc->rxNSSType << 7); + tmp174__ = 0U; + tmp174__ |= (pSrc->chanWidth << 0); + tmp174__ |= (pSrc->vht_160_80p80_supp << 2); + tmp174__ |= (pSrc->no_ldpc << 3); + tmp174__ |= (pSrc->rxNSS << 4); + tmp174__ |= (pSrc->rxNSSType << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp172__; + *pBuf = tmp174__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -26572,7 +27142,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 tmp173__; + uint8_t tmp175__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -26581,16 +27151,16 @@ uint32_t dot11f_pack_ie_pu_buffer_status(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp173__ = 0U; - tmp173__ |= (pSrc->ac_bk_traffic_aval << 0); - tmp173__ |= (pSrc->ac_be_traffic_aval << 1); - tmp173__ |= (pSrc->ac_vi_traffic_aval << 2); - tmp173__ |= (pSrc->ac_vo_traffic_aval << 3); - tmp173__ |= (pSrc->reserved << 4); + tmp175__ = 0U; + tmp175__ |= (pSrc->ac_bk_traffic_aval << 0); + tmp175__ |= (pSrc->ac_be_traffic_aval << 1); + tmp175__ |= (pSrc->ac_vi_traffic_aval << 2); + tmp175__ |= (pSrc->ac_vo_traffic_aval << 3); + tmp175__ |= (pSrc->reserved << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp173__; + *pBuf = tmp175__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -26746,7 +27316,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 tmp174__; + uint8_t tmp176__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -26755,16 +27325,16 @@ uint32_t dot11f_pack_ie_qos_caps_ap(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp174__ = 0U; - tmp174__ |= (pSrc->count << 0); - tmp174__ |= (pSrc->qack << 4); - tmp174__ |= (pSrc->qreq << 5); - tmp174__ |= (pSrc->txopreq << 6); - tmp174__ |= (pSrc->reserved << 7); + tmp176__ = 0U; + tmp176__ |= (pSrc->count << 0); + tmp176__ |= (pSrc->qack << 4); + tmp176__ |= (pSrc->qreq << 5); + tmp176__ |= (pSrc->txopreq << 6); + tmp176__ |= (pSrc->reserved << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp174__; + *pBuf = tmp176__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -26786,7 +27356,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 tmp175__; + uint8_t tmp177__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -26795,18 +27365,18 @@ uint32_t dot11f_pack_ie_qos_caps_station(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp175__ = 0U; - tmp175__ |= (pSrc->acvo_uapsd << 0); - tmp175__ |= (pSrc->acvi_uapsd << 1); - tmp175__ |= (pSrc->acbk_uapsd << 2); - tmp175__ |= (pSrc->acbe_uapsd << 3); - tmp175__ |= (pSrc->qack << 4); - tmp175__ |= (pSrc->max_sp_length << 5); - tmp175__ |= (pSrc->more_data_ack << 7); + tmp177__ = 0U; + tmp177__ |= (pSrc->acvo_uapsd << 0); + tmp177__ |= (pSrc->acvi_uapsd << 1); + tmp177__ |= (pSrc->acbk_uapsd << 2); + tmp177__ |= (pSrc->acbe_uapsd << 3); + tmp177__ |= (pSrc->qack << 4); + tmp177__ |= (pSrc->max_sp_length << 5); + tmp177__ |= (pSrc->more_data_ack << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp175__; + *pBuf = tmp177__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -27451,7 +28021,7 @@ uint32_t dot11f_pack_ie_wapi(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp176__; + uint16_t tmp178__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_iewapi(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -27481,13 +28051,13 @@ uint32_t dot11f_pack_ie_wapi(tpAniSirGlobal pCtx, DOT11F_MEMCPY(pCtx, pBuf, pSrc->multicast_cipher_suite, 4); *pnConsumed += 4; pBuf += 4; - tmp176__ = 0U; - tmp176__ |= (pSrc->preauth << 0); - tmp176__ |= (pSrc->reserved << 1); + tmp178__ = 0U; + tmp178__ |= (pSrc->preauth << 0); + tmp178__ |= (pSrc->reserved << 1); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp176__, 0); + frameshtons(pCtx, pBuf, tmp178__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -27627,7 +28197,7 @@ uint32_t dot11f_pack_ie_wmm_caps(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp177__; + uint8_t tmp179__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -27649,16 +28219,16 @@ uint32_t dot11f_pack_ie_wmm_caps(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *pnConsumed += 1; pBuf += 1; - tmp177__ = 0U; - tmp177__ |= (pSrc->reserved << 0); - tmp177__ |= (pSrc->qack << 4); - tmp177__ |= (pSrc->queue_request << 5); - tmp177__ |= (pSrc->txop_request << 6); - tmp177__ |= (pSrc->more_ack << 7); + tmp179__ = 0U; + tmp179__ |= (pSrc->reserved << 0); + tmp179__ |= (pSrc->qack << 4); + tmp179__ |= (pSrc->queue_request << 5); + tmp179__ |= (pSrc->txop_request << 6); + tmp179__ |= (pSrc->more_ack << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp177__; + *pBuf = tmp179__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -27680,7 +28250,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 tmp178__; + uint8_t tmp180__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -27702,14 +28272,14 @@ uint32_t dot11f_pack_ie_wmm_info_ap(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *pnConsumed += 1; pBuf += 1; - tmp178__ = 0U; - tmp178__ |= (pSrc->param_set_count << 0); - tmp178__ |= (pSrc->reserved << 4); - tmp178__ |= (pSrc->uapsd << 7); + tmp180__ = 0U; + tmp180__ |= (pSrc->param_set_count << 0); + tmp180__ |= (pSrc->reserved << 4); + tmp180__ |= (pSrc->uapsd << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp178__; + *pBuf = tmp180__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -27731,7 +28301,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 tmp179__; + uint8_t tmp181__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -27753,18 +28323,18 @@ uint32_t dot11f_pack_ie_wmm_info_station(tpAniSirGlobal pCtx, *pBuf = pSrc->version; *pnConsumed += 1; pBuf += 1; - tmp179__ = 0U; - tmp179__ |= (pSrc->acvo_uapsd << 0); - tmp179__ |= (pSrc->acvi_uapsd << 1); - tmp179__ |= (pSrc->acbk_uapsd << 2); - tmp179__ |= (pSrc->acbe_uapsd << 3); - tmp179__ |= (pSrc->reserved1 << 4); - tmp179__ |= (pSrc->max_sp_length << 5); - tmp179__ |= (pSrc->reserved2 << 7); + tmp181__ = 0U; + tmp181__ |= (pSrc->acvo_uapsd << 0); + tmp181__ |= (pSrc->acvi_uapsd << 1); + tmp181__ |= (pSrc->acbk_uapsd << 2); + tmp181__ |= (pSrc->acbe_uapsd << 3); + tmp181__ |= (pSrc->reserved1 << 4); + tmp181__ |= (pSrc->max_sp_length << 5); + tmp181__ |= (pSrc->reserved2 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp179__; + *pBuf = tmp181__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -27786,14 +28356,14 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp180__; - uint8_t tmp181__; uint8_t tmp182__; uint8_t tmp183__; uint8_t tmp184__; uint8_t tmp185__; uint8_t tmp186__; uint8_t tmp187__; + uint8_t tmp188__; + uint8_t tmp189__; nNeeded += 19; while (pSrc->present) { if (nNeeded > nBuf) @@ -27821,36 +28391,11 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, *pBuf = pSrc->reserved2; *pnConsumed += 1; pBuf += 1; - tmp180__ = 0U; - tmp180__ |= (pSrc->acbe_aifsn << 0); - tmp180__ |= (pSrc->acbe_acm << 4); - tmp180__ |= (pSrc->acbe_aci << 5); - tmp180__ |= (pSrc->unused1 << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp180__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - tmp181__ = 0U; - tmp181__ |= (pSrc->acbe_acwmin << 0); - tmp181__ |= (pSrc->acbe_acwmax << 4); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp181__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - frameshtons(pCtx, pBuf, pSrc->acbe_txoplimit, 0); - *pnConsumed += 2; - pBuf += 2; tmp182__ = 0U; - tmp182__ |= (pSrc->acbk_aifsn << 0); - tmp182__ |= (pSrc->acbk_acm << 4); - tmp182__ |= (pSrc->acbk_aci << 5); - tmp182__ |= (pSrc->unused2 << 7); + 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; @@ -27859,8 +28404,8 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp183__ = 0U; - tmp183__ |= (pSrc->acbk_acwmin << 0); - tmp183__ |= (pSrc->acbk_acwmax << 4); + tmp183__ |= (pSrc->acbe_acwmin << 0); + tmp183__ |= (pSrc->acbe_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -27868,14 +28413,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; tmp184__ = 0U; - tmp184__ |= (pSrc->acvi_aifsn << 0); - tmp184__ |= (pSrc->acvi_acm << 4); - tmp184__ |= (pSrc->acvi_aci << 5); - tmp184__ |= (pSrc->unused3 << 7); + 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; @@ -27884,8 +28429,8 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp185__ = 0U; - tmp185__ |= (pSrc->acvi_acwmin << 0); - tmp185__ |= (pSrc->acvi_acwmax << 4); + tmp185__ |= (pSrc->acbk_acwmin << 0); + tmp185__ |= (pSrc->acbk_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -27893,14 +28438,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; tmp186__ = 0U; - tmp186__ |= (pSrc->acvo_aifsn << 0); - tmp186__ |= (pSrc->acvo_acm << 4); - tmp186__ |= (pSrc->acvo_aci << 5); - tmp186__ |= (pSrc->unused4 << 7); + tmp186__ |= (pSrc->acvi_aifsn << 0); + tmp186__ |= (pSrc->acvi_acm << 4); + tmp186__ |= (pSrc->acvi_aci << 5); + tmp186__ |= (pSrc->unused3 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -27909,8 +28454,8 @@ uint32_t dot11f_pack_ie_wmm_params(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp187__ = 0U; - tmp187__ |= (pSrc->acvo_acwmin << 0); - tmp187__ |= (pSrc->acvo_acwmax << 4); + tmp187__ |= (pSrc->acvi_acwmin << 0); + tmp187__ |= (pSrc->acvi_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -27918,6 +28463,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; + tmp188__ = 0U; + tmp188__ |= (pSrc->acvo_aifsn << 0); + tmp188__ |= (pSrc->acvo_acm << 4); + tmp188__ |= (pSrc->acvo_aci << 5); + tmp188__ |= (pSrc->unused4 << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp188__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp189__ = 0U; + tmp189__ |= (pSrc->acvo_acwmin << 0); + tmp189__ |= (pSrc->acvo_acwmax << 4); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp189__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; frameshtons(pCtx, pBuf, pSrc->acvo_txoplimit, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ @@ -28471,7 +29041,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 tmp188__; + uint8_t tmp190__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -28480,15 +29050,15 @@ uint32_t dot11f_pack_ie_addba_extn_element(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp188__ = 0U; - tmp188__ |= (pSrc->no_fragmentation << 0); - tmp188__ |= (pSrc->he_frag_operation << 1); - tmp188__ |= (pSrc->reserved << 3); - tmp188__ |= (pSrc->extd_buff_size << 5); + tmp190__ = 0U; + tmp190__ |= (pSrc->no_fragmentation << 0); + tmp190__ |= (pSrc->he_frag_operation << 1); + tmp190__ |= (pSrc->reserved << 3); + tmp190__ |= (pSrc->extd_buff_size << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp188__; + *pBuf = tmp190__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -28510,7 +29080,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 tmp189__; + uint8_t tmp191__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -28524,13 +29094,13 @@ uint32_t dot11f_pack_ie_bss_color_change(tpAniSirGlobal pCtx, *pBuf = pSrc->countdown; *pnConsumed += 1; pBuf += 1; - tmp189__ = 0U; - tmp189__ |= (pSrc->new_color << 0); - tmp189__ |= (pSrc->reserved << 6); + tmp191__ = 0U; + tmp191__ |= (pSrc->new_color << 0); + tmp191__ |= (pSrc->reserved << 6); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp189__; + *pBuf = tmp191__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -28552,7 +29122,7 @@ uint32_t dot11f_pack_ie_bss_max_idle_period(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp190__; + uint8_t tmp192__; nNeeded += 3; while (pSrc->present) { if (nNeeded > nBuf) @@ -28564,13 +29134,13 @@ uint32_t dot11f_pack_ie_bss_max_idle_period(tpAniSirGlobal pCtx, frameshtons(pCtx, pBuf, pSrc->max_idle_period, 0); *pnConsumed += 2; pBuf += 2; - tmp190__ = 0U; - tmp190__ |= (pSrc->prot_keep_alive_reqd << 0); - tmp190__ |= (pSrc->reserved << 1); + tmp192__ = 0U; + tmp192__ |= (pSrc->prot_keep_alive_reqd << 0); + tmp192__ |= (pSrc->reserved << 1); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp190__; + *pBuf = tmp192__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -28673,14 +29243,14 @@ uint32_t dot11f_pack_ie_eht_cap(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp191__; - uint32_t tmp192__; - uint32_t tmp193__; - uint8_t tmp194__; + uint16_t tmp193__; + uint32_t tmp194__; uint32_t tmp195__; - uint32_t tmp196__; + uint8_t tmp196__; uint32_t tmp197__; - uint8_t tmp198__; + uint32_t tmp198__; + uint32_t tmp199__; + uint8_t tmp200__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_eht_cap(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -28694,107 +29264,77 @@ uint32_t dot11f_pack_ie_eht_cap(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); *pBuf = 108; ++pBuf; ++(*pnConsumed); - tmp191__ = 0U; - tmp191__ |= (pSrc->epcs_pri_access << 0); - tmp191__ |= (pSrc->eht_om_ctl << 1); - tmp191__ |= (pSrc->triggered_txop_sharing_mode1 << 2); - tmp191__ |= (pSrc->triggered_txop_sharing_mode2 << 3); - tmp191__ |= (pSrc->restricted_twt << 4); - tmp191__ |= (pSrc->scs_traffic_desc << 5); - tmp191__ |= (pSrc->max_mpdu_len << 6); - tmp191__ |= (pSrc->max_a_mpdu_len_exponent_ext << 8); - tmp191__ |= (pSrc->eht_trs_support << 9); - tmp191__ |= (pSrc->txop_return_support_txop_share_m2 << 10); - tmp191__ |= (pSrc->two_bqrs_support << 11); - tmp191__ |= (pSrc->eht_link_adaptation_support << 12); - tmp191__ |= (pSrc->reserved << 14); + tmp193__ = 0U; + tmp193__ |= (pSrc->epcs_pri_access << 0); + tmp193__ |= (pSrc->eht_om_ctl << 1); + tmp193__ |= (pSrc->triggered_txop_sharing_mode1 << 2); + tmp193__ |= (pSrc->triggered_txop_sharing_mode2 << 3); + tmp193__ |= (pSrc->restricted_twt << 4); + tmp193__ |= (pSrc->scs_traffic_desc << 5); + tmp193__ |= (pSrc->max_mpdu_len << 6); + tmp193__ |= (pSrc->max_a_mpdu_len_exponent_ext << 8); + tmp193__ |= (pSrc->eht_trs_support << 9); + tmp193__ |= (pSrc->txop_return_support_txop_share_m2 << 10); + tmp193__ |= (pSrc->two_bqrs_support << 11); + tmp193__ |= (pSrc->eht_link_adaptation_support << 12); + tmp193__ |= (pSrc->reserved << 14); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp191__, 0); + frameshtons(pCtx, pBuf, tmp193__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; - tmp192__ = 0U; - tmp192__ |= (pSrc->reserved2 << 0); - tmp192__ |= (pSrc->support_320mhz_6ghz << 1); - tmp192__ |= (pSrc->ru_242tone_wt_20mhz << 2); - tmp192__ |= (pSrc->ndp_4x_eht_ltf_3dot2_us_gi << 3); - tmp192__ |= (pSrc->partial_bw_mu_mimo << 4); - tmp192__ |= (pSrc->su_beamformer << 5); - tmp192__ |= (pSrc->su_beamformee << 6); - tmp192__ |= (pSrc->bfee_ss_le_80mhz << 7); - tmp192__ |= (pSrc->bfee_ss_160mhz << 10); - tmp192__ |= (pSrc->bfee_ss_320mhz << 13); - tmp192__ |= (pSrc->num_sounding_dim_le_80mhz << 16); - tmp192__ |= (pSrc->num_sounding_dim_160mhz << 19); - tmp192__ |= (pSrc->num_sounding_dim_320mhz << 22); - tmp192__ |= (pSrc->ng_16_su_feedback << 25); - tmp192__ |= (pSrc->ng_16_mu_feedback << 26); - tmp192__ |= (pSrc->cb_sz_4_2_su_feedback << 27); - tmp192__ |= (pSrc->cb_sz_7_5_su_feedback << 28); - tmp192__ |= (pSrc->trig_su_bforming_feedback << 29); - tmp192__ |= (pSrc->trig_mu_bforming_partial_bw_feedback << 30); - tmp192__ |= (pSrc->triggered_cqi_feedback << 31); - if (unlikely(nBuf < 4)) - return DOT11F_INCOMPLETE_IE; - - frameshtonl(pCtx, pBuf, tmp192__, 0); - *pnConsumed += 4; - pBuf += 4; - nBuf -= 4 ; - tmp193__ = 0U; - tmp193__ |= (pSrc->partial_bw_dl_mu_mimo << 0); - tmp193__ |= (pSrc->psr_based_sr << 1); - tmp193__ |= (pSrc->power_boost_factor << 2); - tmp193__ |= (pSrc->eht_mu_ppdu_4x_ltf_0_8_us_gi << 3); - tmp193__ |= (pSrc->max_nc << 4); - tmp193__ |= (pSrc->non_trig_cqi_feedback << 8); - tmp193__ |= (pSrc->tx_1024_4096_qam_lt_242_tone_ru << 9); - tmp193__ |= (pSrc->rx_1024_4096_qam_lt_242_tone_ru << 10); - tmp193__ |= (pSrc->ppet_present << 11); - tmp193__ |= (pSrc->common_nominal_pkt_padding << 12); - tmp193__ |= (pSrc->max_num_eht_ltf << 14); - tmp193__ |= (pSrc->mcs_15 << 19); - tmp193__ |= (pSrc->eht_dup_6ghz << 23); - tmp193__ |= (pSrc->op_sta_rx_ndp_wider_bw_20mhz << 24); - tmp193__ |= (pSrc->non_ofdma_ul_mu_mimo_le_80mhz << 25); - tmp193__ |= (pSrc->non_ofdma_ul_mu_mimo_160mhz << 26); - tmp193__ |= (pSrc->non_ofdma_ul_mu_mimo_320mhz << 27); - tmp193__ |= (pSrc->mu_bformer_le_80mhz << 28); - tmp193__ |= (pSrc->mu_bformer_160mhz << 29); - tmp193__ |= (pSrc->mu_bformer_320mhz << 30); - tmp193__ |= (pSrc->tb_sounding_feedback_rl << 31); - if (unlikely(nBuf < 4)) - return DOT11F_INCOMPLETE_IE; - - frameshtonl(pCtx, pBuf, tmp193__, 0); - *pnConsumed += 4; - pBuf += 4; - nBuf -= 4 ; tmp194__ = 0U; - tmp194__ |= (pSrc->rx_1k_qam_in_wider_bw_dl_ofdma << 0); - tmp194__ |= (pSrc->rx_4k_qam_in_wider_bw_dl_ofdma << 1); - tmp194__ |= (pSrc->limited_cap_support_20mhz << 2); - tmp194__ |= (pSrc->triggered_mu_bf_full_bw_fb_and_dl_mumimo << 3); - tmp194__ |= (pSrc->mru_support_20mhz << 4); - tmp194__ |= (pSrc->reserved3 << 5); - if (unlikely(nBuf < 1)) + tmp194__ |= (pSrc->reserved2 << 0); + tmp194__ |= (pSrc->support_320mhz_6ghz << 1); + tmp194__ |= (pSrc->ru_242tone_wt_20mhz << 2); + tmp194__ |= (pSrc->ndp_4x_eht_ltf_3dot2_us_gi << 3); + tmp194__ |= (pSrc->partial_bw_mu_mimo << 4); + tmp194__ |= (pSrc->su_beamformer << 5); + tmp194__ |= (pSrc->su_beamformee << 6); + tmp194__ |= (pSrc->bfee_ss_le_80mhz << 7); + tmp194__ |= (pSrc->bfee_ss_160mhz << 10); + tmp194__ |= (pSrc->bfee_ss_320mhz << 13); + tmp194__ |= (pSrc->num_sounding_dim_le_80mhz << 16); + tmp194__ |= (pSrc->num_sounding_dim_160mhz << 19); + tmp194__ |= (pSrc->num_sounding_dim_320mhz << 22); + tmp194__ |= (pSrc->ng_16_su_feedback << 25); + tmp194__ |= (pSrc->ng_16_mu_feedback << 26); + tmp194__ |= (pSrc->cb_sz_4_2_su_feedback << 27); + tmp194__ |= (pSrc->cb_sz_7_5_su_feedback << 28); + tmp194__ |= (pSrc->trig_su_bforming_feedback << 29); + tmp194__ |= (pSrc->trig_mu_bforming_partial_bw_feedback << 30); + tmp194__ |= (pSrc->triggered_cqi_feedback << 31); + if (unlikely(nBuf < 4)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp194__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; + frameshtonl(pCtx, pBuf, tmp194__, 0); + *pnConsumed += 4; + pBuf += 4; + nBuf -= 4 ; tmp195__ = 0U; - tmp195__ |= (pSrc->bw_20_rx_max_nss_for_mcs_0_to_7 << 0); - tmp195__ |= (pSrc->bw_20_tx_max_nss_for_mcs_0_to_7 << 4); - tmp195__ |= (pSrc->bw_20_rx_max_nss_for_mcs_8_and_9 << 8); - tmp195__ |= (pSrc->bw_20_tx_max_nss_for_mcs_8_and_9 << 12); - tmp195__ |= (pSrc->bw_20_rx_max_nss_for_mcs_10_and_11 << 16); - tmp195__ |= (pSrc->bw_20_tx_max_nss_for_mcs_10_and_11 << 20); - tmp195__ |= (pSrc->bw_20_rx_max_nss_for_mcs_12_and_13 << 24); - tmp195__ |= (pSrc->bw_20_tx_max_nss_for_mcs_12_and_13 << 28); + tmp195__ |= (pSrc->partial_bw_dl_mu_mimo << 0); + tmp195__ |= (pSrc->psr_based_sr << 1); + tmp195__ |= (pSrc->power_boost_factor << 2); + tmp195__ |= (pSrc->eht_mu_ppdu_4x_ltf_0_8_us_gi << 3); + tmp195__ |= (pSrc->max_nc << 4); + tmp195__ |= (pSrc->non_trig_cqi_feedback << 8); + tmp195__ |= (pSrc->tx_1024_4096_qam_lt_242_tone_ru << 9); + tmp195__ |= (pSrc->rx_1024_4096_qam_lt_242_tone_ru << 10); + tmp195__ |= (pSrc->ppet_present << 11); + tmp195__ |= (pSrc->common_nominal_pkt_padding << 12); + tmp195__ |= (pSrc->max_num_eht_ltf << 14); + tmp195__ |= (pSrc->mcs_15 << 19); + tmp195__ |= (pSrc->eht_dup_6ghz << 23); + tmp195__ |= (pSrc->op_sta_rx_ndp_wider_bw_20mhz << 24); + tmp195__ |= (pSrc->non_ofdma_ul_mu_mimo_le_80mhz << 25); + tmp195__ |= (pSrc->non_ofdma_ul_mu_mimo_160mhz << 26); + tmp195__ |= (pSrc->non_ofdma_ul_mu_mimo_320mhz << 27); + tmp195__ |= (pSrc->mu_bformer_le_80mhz << 28); + tmp195__ |= (pSrc->mu_bformer_160mhz << 29); + tmp195__ |= (pSrc->mu_bformer_320mhz << 30); + tmp195__ |= (pSrc->tb_sounding_feedback_rl << 31); if (unlikely(nBuf < 4)) return DOT11F_INCOMPLETE_IE; @@ -28803,30 +29343,28 @@ uint32_t dot11f_pack_ie_eht_cap(tpAniSirGlobal pCtx, pBuf += 4; nBuf -= 4 ; tmp196__ = 0U; - tmp196__ |= (pSrc->bw_le_80_rx_max_nss_for_mcs_0_to_9 << 0); - tmp196__ |= (pSrc->bw_le_80_tx_max_nss_for_mcs_0_to_9 << 4); - tmp196__ |= (pSrc->bw_le_80_rx_max_nss_for_mcs_10_and_11 << 8); - tmp196__ |= (pSrc->bw_le_80_tx_max_nss_for_mcs_10_and_11 << 12); - tmp196__ |= (pSrc->bw_le_80_rx_max_nss_for_mcs_12_and_13 << 16); - tmp196__ |= (pSrc->bw_le_80_tx_max_nss_for_mcs_12_and_13 << 20); - tmp196__ |= (pSrc->bw_160_rx_max_nss_for_mcs_0_to_9 << 24); - tmp196__ |= (pSrc->bw_160_tx_max_nss_for_mcs_0_to_9 << 28); - if (unlikely(nBuf < 4)) + tmp196__ |= (pSrc->rx_1k_qam_in_wider_bw_dl_ofdma << 0); + tmp196__ |= (pSrc->rx_4k_qam_in_wider_bw_dl_ofdma << 1); + tmp196__ |= (pSrc->limited_cap_support_20mhz << 2); + tmp196__ |= (pSrc->triggered_mu_bf_full_bw_fb_and_dl_mumimo << 3); + tmp196__ |= (pSrc->mru_support_20mhz << 4); + tmp196__ |= (pSrc->reserved3 << 5); + if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - frameshtonl(pCtx, pBuf, tmp196__, 0); - *pnConsumed += 4; - pBuf += 4; - nBuf -= 4 ; + *pBuf = tmp196__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; tmp197__ = 0U; - tmp197__ |= (pSrc->bw_160_rx_max_nss_for_mcs_10_and_11 << 0); - tmp197__ |= (pSrc->bw_160_tx_max_nss_for_mcs_10_and_11 << 4); - tmp197__ |= (pSrc->bw_160_rx_max_nss_for_mcs_12_and_13 << 8); - tmp197__ |= (pSrc->bw_160_tx_max_nss_for_mcs_12_and_13 << 12); - tmp197__ |= (pSrc->bw_320_rx_max_nss_for_mcs_0_to_9 << 16); - tmp197__ |= (pSrc->bw_320_tx_max_nss_for_mcs_0_to_9 << 20); - tmp197__ |= (pSrc->bw_320_rx_max_nss_for_mcs_10_and_11 << 24); - tmp197__ |= (pSrc->bw_320_tx_max_nss_for_mcs_10_and_11 << 28); + tmp197__ |= (pSrc->bw_20_rx_max_nss_for_mcs_0_to_7 << 0); + tmp197__ |= (pSrc->bw_20_tx_max_nss_for_mcs_0_to_7 << 4); + tmp197__ |= (pSrc->bw_20_rx_max_nss_for_mcs_8_and_9 << 8); + tmp197__ |= (pSrc->bw_20_tx_max_nss_for_mcs_8_and_9 << 12); + tmp197__ |= (pSrc->bw_20_rx_max_nss_for_mcs_10_and_11 << 16); + tmp197__ |= (pSrc->bw_20_tx_max_nss_for_mcs_10_and_11 << 20); + tmp197__ |= (pSrc->bw_20_rx_max_nss_for_mcs_12_and_13 << 24); + tmp197__ |= (pSrc->bw_20_tx_max_nss_for_mcs_12_and_13 << 28); if (unlikely(nBuf < 4)) return DOT11F_INCOMPLETE_IE; @@ -28835,12 +29373,44 @@ uint32_t dot11f_pack_ie_eht_cap(tpAniSirGlobal pCtx, pBuf += 4; nBuf -= 4 ; tmp198__ = 0U; - tmp198__ |= (pSrc->bw_320_rx_max_nss_for_mcs_12_and_13 << 0); - tmp198__ |= (pSrc->bw_320_tx_max_nss_for_mcs_12_and_13 << 4); + tmp198__ |= (pSrc->bw_le_80_rx_max_nss_for_mcs_0_to_9 << 0); + tmp198__ |= (pSrc->bw_le_80_tx_max_nss_for_mcs_0_to_9 << 4); + tmp198__ |= (pSrc->bw_le_80_rx_max_nss_for_mcs_10_and_11 << 8); + tmp198__ |= (pSrc->bw_le_80_tx_max_nss_for_mcs_10_and_11 << 12); + tmp198__ |= (pSrc->bw_le_80_rx_max_nss_for_mcs_12_and_13 << 16); + tmp198__ |= (pSrc->bw_le_80_tx_max_nss_for_mcs_12_and_13 << 20); + tmp198__ |= (pSrc->bw_160_rx_max_nss_for_mcs_0_to_9 << 24); + tmp198__ |= (pSrc->bw_160_tx_max_nss_for_mcs_0_to_9 << 28); + if (unlikely(nBuf < 4)) + return DOT11F_INCOMPLETE_IE; + + frameshtonl(pCtx, pBuf, tmp198__, 0); + *pnConsumed += 4; + pBuf += 4; + nBuf -= 4 ; + tmp199__ = 0U; + tmp199__ |= (pSrc->bw_160_rx_max_nss_for_mcs_10_and_11 << 0); + tmp199__ |= (pSrc->bw_160_tx_max_nss_for_mcs_10_and_11 << 4); + tmp199__ |= (pSrc->bw_160_rx_max_nss_for_mcs_12_and_13 << 8); + tmp199__ |= (pSrc->bw_160_tx_max_nss_for_mcs_12_and_13 << 12); + tmp199__ |= (pSrc->bw_320_rx_max_nss_for_mcs_0_to_9 << 16); + tmp199__ |= (pSrc->bw_320_tx_max_nss_for_mcs_0_to_9 << 20); + tmp199__ |= (pSrc->bw_320_rx_max_nss_for_mcs_10_and_11 << 24); + tmp199__ |= (pSrc->bw_320_tx_max_nss_for_mcs_10_and_11 << 28); + if (unlikely(nBuf < 4)) + return DOT11F_INCOMPLETE_IE; + + frameshtonl(pCtx, pBuf, tmp199__, 0); + *pnConsumed += 4; + pBuf += 4; + nBuf -= 4 ; + tmp200__ = 0U; + tmp200__ |= (pSrc->bw_320_rx_max_nss_for_mcs_12_and_13 << 0); + tmp200__ |= (pSrc->bw_320_tx_max_nss_for_mcs_12_and_13 << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp198__; + *pBuf = tmp200__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -28873,9 +29443,9 @@ uint32_t dot11f_pack_ie_eht_op(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp199__; - uint32_t tmp200__; uint8_t tmp201__; + uint32_t tmp202__; + uint8_t tmp203__; nNeeded += (pSrc->disabled_sub_chan_bitmap_present * 2 + 8); while (pSrc->present) { if (nNeeded > nBuf) @@ -28886,39 +29456,13 @@ uint32_t dot11f_pack_ie_eht_op(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); *pBuf = 106; ++pBuf; ++(*pnConsumed); - tmp199__ = 0U; - tmp199__ |= (pSrc->eht_op_information_present << 0); - tmp199__ |= (pSrc->disabled_sub_chan_bitmap_present << 1); - tmp199__ |= (pSrc->eht_default_pe_duration << 2); - tmp199__ |= (pSrc->group_addr_bu_indication_limit << 3); - tmp199__ |= (pSrc->group_addr_bu_indication_exponent << 4); - tmp199__ |= (pSrc->reserved << 6); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp199__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - tmp200__ = 0U; - tmp200__ |= (pSrc->basic_rx_max_nss_for_mcs_0_to_7 << 0); - tmp200__ |= (pSrc->basic_tx_max_nss_for_mcs_0_to_7 << 4); - tmp200__ |= (pSrc->basic_rx_max_nss_for_mcs_8_and_9 << 8); - tmp200__ |= (pSrc->basic_tx_max_nss_for_mcs_8_and_9 << 12); - tmp200__ |= (pSrc->basic_rx_max_nss_for_mcs_10_and_11 << 16); - tmp200__ |= (pSrc->basic_tx_max_nss_for_mcs_10_and_11 << 20); - tmp200__ |= (pSrc->basic_rx_max_nss_for_mcs_12_and_13 << 24); - tmp200__ |= (pSrc->basic_tx_max_nss_for_mcs_12_and_13 << 28); - if (unlikely(nBuf < 4)) - return DOT11F_INCOMPLETE_IE; - - frameshtonl(pCtx, pBuf, tmp200__, 0); - *pnConsumed += 4; - pBuf += 4; - nBuf -= 4 ; tmp201__ = 0U; - tmp201__ |= (pSrc->channel_width << 0); - tmp201__ |= (pSrc->reserved_1 << 3); + tmp201__ |= (pSrc->eht_op_information_present << 0); + tmp201__ |= (pSrc->disabled_sub_chan_bitmap_present << 1); + tmp201__ |= (pSrc->eht_default_pe_duration << 2); + tmp201__ |= (pSrc->group_addr_bu_indication_limit << 3); + tmp201__ |= (pSrc->group_addr_bu_indication_exponent << 4); + tmp201__ |= (pSrc->reserved << 6); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -28926,6 +29470,32 @@ uint32_t dot11f_pack_ie_eht_op(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; + tmp202__ = 0U; + tmp202__ |= (pSrc->basic_rx_max_nss_for_mcs_0_to_7 << 0); + tmp202__ |= (pSrc->basic_tx_max_nss_for_mcs_0_to_7 << 4); + tmp202__ |= (pSrc->basic_rx_max_nss_for_mcs_8_and_9 << 8); + tmp202__ |= (pSrc->basic_tx_max_nss_for_mcs_8_and_9 << 12); + tmp202__ |= (pSrc->basic_rx_max_nss_for_mcs_10_and_11 << 16); + tmp202__ |= (pSrc->basic_tx_max_nss_for_mcs_10_and_11 << 20); + tmp202__ |= (pSrc->basic_rx_max_nss_for_mcs_12_and_13 << 24); + tmp202__ |= (pSrc->basic_tx_max_nss_for_mcs_12_and_13 << 28); + if (unlikely(nBuf < 4)) + return DOT11F_INCOMPLETE_IE; + + frameshtonl(pCtx, pBuf, tmp202__, 0); + *pnConsumed += 4; + pBuf += 4; + nBuf -= 4 ; + tmp203__ = 0U; + tmp203__ |= (pSrc->channel_width << 0); + tmp203__ |= (pSrc->reserved_1 << 3); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp203__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; *pBuf = pSrc->ccfs0; *pnConsumed += 1; pBuf += 1; @@ -29090,7 +29660,7 @@ uint32_t dot11f_pack_ie_fils_indication(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp202__; + uint16_t tmp204__; nNeeded += (pSrc->num_variable_data + 2); while (pSrc->present) { if (nNeeded > nBuf) @@ -29099,20 +29669,20 @@ uint32_t dot11f_pack_ie_fils_indication(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp202__ = 0U; - tmp202__ |= (pSrc->public_key_identifiers_cnt << 0); - tmp202__ |= (pSrc->realm_identifiers_cnt << 3); - tmp202__ |= (pSrc->is_ip_config_supported << 6); - tmp202__ |= (pSrc->is_cache_id_present << 7); - tmp202__ |= (pSrc->is_hessid_present << 8); - tmp202__ |= (pSrc->is_fils_sk_auth_supported << 9); - tmp202__ |= (pSrc->is_fils_sk_auth_pfs_supported << 10); - tmp202__ |= (pSrc->is_pk_auth_supported << 11); - tmp202__ |= (pSrc->reserved << 12); + tmp204__ = 0U; + tmp204__ |= (pSrc->public_key_identifiers_cnt << 0); + tmp204__ |= (pSrc->realm_identifiers_cnt << 3); + tmp204__ |= (pSrc->is_ip_config_supported << 6); + tmp204__ |= (pSrc->is_cache_id_present << 7); + tmp204__ |= (pSrc->is_hessid_present << 8); + tmp204__ |= (pSrc->is_fils_sk_auth_supported << 9); + tmp204__ |= (pSrc->is_fils_sk_auth_pfs_supported << 10); + tmp204__ |= (pSrc->is_pk_auth_supported << 11); + tmp204__ |= (pSrc->reserved << 12); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp202__, 0); + frameshtons(pCtx, pBuf, tmp204__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -29358,7 +29928,7 @@ uint32_t dot11f_pack_ie_he_6ghz_band_cap(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp203__; + uint16_t tmp205__; nNeeded += 2; while (pSrc->present) { if (nNeeded > nBuf) @@ -29369,19 +29939,19 @@ uint32_t dot11f_pack_ie_he_6ghz_band_cap(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); *pBuf = 59; ++pBuf; ++(*pnConsumed); - tmp203__ = 0U; - tmp203__ |= (pSrc->min_mpdu_start_spacing << 0); - tmp203__ |= (pSrc->max_ampdu_len_exp << 3); - tmp203__ |= (pSrc->max_mpdu_len << 6); - tmp203__ |= (pSrc->sm_pow_save << 9); - tmp203__ |= (pSrc->rd_responder << 11); - tmp203__ |= (pSrc->rx_ant_pattern_consistency << 12); - tmp203__ |= (pSrc->tx_ant_pattern_consistency << 13); - tmp203__ |= (pSrc->reserved << 14); + tmp205__ = 0U; + tmp205__ |= (pSrc->min_mpdu_start_spacing << 0); + tmp205__ |= (pSrc->max_ampdu_len_exp << 3); + tmp205__ |= (pSrc->max_mpdu_len << 6); + tmp205__ |= (pSrc->sm_pow_save << 9); + tmp205__ |= (pSrc->rd_responder << 11); + tmp205__ |= (pSrc->rx_ant_pattern_consistency << 12); + tmp205__ |= (pSrc->tx_ant_pattern_consistency << 13); + tmp205__ |= (pSrc->reserved << 14); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp203__, 0); + frameshtons(pCtx, pBuf, tmp205__, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ nBuf -= 2 ; @@ -29403,11 +29973,11 @@ uint32_t dot11f_pack_ie_he_cap(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint32_t tmp204__; - uint16_t tmp205__; uint32_t tmp206__; - uint32_t tmp207__; - uint16_t tmp208__; + uint16_t tmp207__; + uint32_t tmp208__; + uint32_t tmp209__; + uint16_t tmp210__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_he_cap(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -29421,82 +29991,30 @@ uint32_t dot11f_pack_ie_he_cap(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); *pBuf = 35; ++pBuf; ++(*pnConsumed); - tmp204__ = 0U; - tmp204__ |= (pSrc->htc_he << 0); - tmp204__ |= (pSrc->twt_request << 1); - tmp204__ |= (pSrc->twt_responder << 2); - tmp204__ |= (pSrc->fragmentation << 3); - tmp204__ |= (pSrc->max_num_frag_msdu_amsdu_exp << 5); - tmp204__ |= (pSrc->min_frag_size << 8); - tmp204__ |= (pSrc->trigger_frm_mac_pad << 10); - tmp204__ |= (pSrc->multi_tid_aggr_rx_supp << 12); - tmp204__ |= (pSrc->he_link_adaptation << 15); - tmp204__ |= (pSrc->all_ack << 17); - tmp204__ |= (pSrc->trigd_rsp_sched << 18); - tmp204__ |= (pSrc->a_bsr << 19); - tmp204__ |= (pSrc->broadcast_twt << 20); - tmp204__ |= (pSrc->ba_32bit_bitmap << 21); - tmp204__ |= (pSrc->mu_cascade << 22); - tmp204__ |= (pSrc->ack_enabled_multitid << 23); - tmp204__ |= (pSrc->reserved << 24); - tmp204__ |= (pSrc->omi_a_ctrl << 25); - tmp204__ |= (pSrc->ofdma_ra << 26); - tmp204__ |= (pSrc->max_ampdu_len_exp_ext << 27); - tmp204__ |= (pSrc->amsdu_frag << 29); - tmp204__ |= (pSrc->flex_twt_sched << 30); - tmp204__ |= (pSrc->rx_ctrl_frame << 31); - if (unlikely(nBuf < 4)) - return DOT11F_INCOMPLETE_IE; - - frameshtonl(pCtx, pBuf, tmp204__, 0); - *pnConsumed += 4; - pBuf += 4; - nBuf -= 4 ; - tmp205__ = 0U; - tmp205__ |= (pSrc->bsrp_ampdu_aggr << 0); - tmp205__ |= (pSrc->qtp << 1); - tmp205__ |= (pSrc->a_bqr << 2); - tmp205__ |= (pSrc->spatial_reuse_param_rspder << 3); - tmp205__ |= (pSrc->ndp_feedback_supp << 4); - tmp205__ |= (pSrc->ops_supp << 5); - tmp205__ |= (pSrc->amsdu_in_ampdu << 6); - tmp205__ |= (pSrc->multi_tid_aggr_tx_supp << 7); - tmp205__ |= (pSrc->he_sub_ch_sel_tx_supp << 10); - tmp205__ |= (pSrc->ul_2x996_tone_ru_supp << 11); - tmp205__ |= (pSrc->om_ctrl_ul_mu_data_dis_rx << 12); - tmp205__ |= (pSrc->he_dynamic_smps << 13); - tmp205__ |= (pSrc->punctured_sounding_supp << 14); - tmp205__ |= (pSrc->ht_vht_trg_frm_rx_supp << 15); - if (unlikely(nBuf < 2)) - return DOT11F_INCOMPLETE_IE; - - frameshtons(pCtx, pBuf, tmp205__, 0); - *pnConsumed += 2; - pBuf += 2; - nBuf -= 2 ; tmp206__ = 0U; - tmp206__ |= (pSrc->reserved2 << 0); - tmp206__ |= (pSrc->chan_width_0 << 1); - tmp206__ |= (pSrc->chan_width_1 << 2); - tmp206__ |= (pSrc->chan_width_2 << 3); - tmp206__ |= (pSrc->chan_width_3 << 4); - tmp206__ |= (pSrc->chan_width_4 << 5); - tmp206__ |= (pSrc->chan_width_5 << 6); - tmp206__ |= (pSrc->chan_width_6 << 7); - tmp206__ |= (pSrc->rx_pream_puncturing << 8); - tmp206__ |= (pSrc->device_class << 12); - tmp206__ |= (pSrc->ldpc_coding << 13); - tmp206__ |= (pSrc->he_1x_ltf_800_gi_ppdu << 14); - tmp206__ |= (pSrc->midamble_tx_rx_max_nsts << 15); - tmp206__ |= (pSrc->he_4x_ltf_3200_gi_ndp << 17); - tmp206__ |= (pSrc->tb_ppdu_tx_stbc_lt_80mhz << 18); - tmp206__ |= (pSrc->rx_stbc_lt_80mhz << 19); - tmp206__ |= (pSrc->doppler << 20); - tmp206__ |= (pSrc->ul_mu << 22); - tmp206__ |= (pSrc->dcm_enc_tx << 24); - tmp206__ |= (pSrc->dcm_enc_rx << 27); - tmp206__ |= (pSrc->ul_he_mu << 30); - tmp206__ |= (pSrc->su_beamformer << 31); + tmp206__ |= (pSrc->htc_he << 0); + tmp206__ |= (pSrc->twt_request << 1); + tmp206__ |= (pSrc->twt_responder << 2); + tmp206__ |= (pSrc->fragmentation << 3); + tmp206__ |= (pSrc->max_num_frag_msdu_amsdu_exp << 5); + tmp206__ |= (pSrc->min_frag_size << 8); + tmp206__ |= (pSrc->trigger_frm_mac_pad << 10); + tmp206__ |= (pSrc->multi_tid_aggr_rx_supp << 12); + tmp206__ |= (pSrc->he_link_adaptation << 15); + tmp206__ |= (pSrc->all_ack << 17); + tmp206__ |= (pSrc->trigd_rsp_sched << 18); + tmp206__ |= (pSrc->a_bsr << 19); + tmp206__ |= (pSrc->broadcast_twt << 20); + tmp206__ |= (pSrc->ba_32bit_bitmap << 21); + tmp206__ |= (pSrc->mu_cascade << 22); + tmp206__ |= (pSrc->ack_enabled_multitid << 23); + tmp206__ |= (pSrc->reserved << 24); + tmp206__ |= (pSrc->omi_a_ctrl << 25); + tmp206__ |= (pSrc->ofdma_ra << 26); + tmp206__ |= (pSrc->max_ampdu_len_exp_ext << 27); + tmp206__ |= (pSrc->amsdu_frag << 29); + tmp206__ |= (pSrc->flex_twt_sched << 30); + tmp206__ |= (pSrc->rx_ctrl_frame << 31); if (unlikely(nBuf < 4)) return DOT11F_INCOMPLETE_IE; @@ -29505,52 +30023,104 @@ uint32_t dot11f_pack_ie_he_cap(tpAniSirGlobal pCtx, pBuf += 4; nBuf -= 4 ; tmp207__ = 0U; - tmp207__ |= (pSrc->su_beamformee << 0); - tmp207__ |= (pSrc->mu_beamformer << 1); - tmp207__ |= (pSrc->bfee_sts_lt_80 << 2); - tmp207__ |= (pSrc->bfee_sts_gt_80 << 5); - tmp207__ |= (pSrc->num_sounding_lt_80 << 8); - tmp207__ |= (pSrc->num_sounding_gt_80 << 11); - tmp207__ |= (pSrc->su_feedback_tone16 << 14); - tmp207__ |= (pSrc->mu_feedback_tone16 << 15); - tmp207__ |= (pSrc->codebook_su << 16); - tmp207__ |= (pSrc->codebook_mu << 17); - tmp207__ |= (pSrc->beamforming_feedback << 18); - tmp207__ |= (pSrc->he_er_su_ppdu << 21); - tmp207__ |= (pSrc->dl_mu_mimo_part_bw << 22); - tmp207__ |= (pSrc->ppet_present << 23); - tmp207__ |= (pSrc->srp << 24); - tmp207__ |= (pSrc->power_boost << 25); - tmp207__ |= (pSrc->he_ltf_800_gi_4x << 26); - tmp207__ |= (pSrc->max_nc << 27); - tmp207__ |= (pSrc->tb_ppdu_tx_stbc_gt_80mhz << 30); - tmp207__ |= (pSrc->rx_stbc_gt_80mhz << 31); - if (unlikely(nBuf < 4)) - return DOT11F_INCOMPLETE_IE; - - frameshtonl(pCtx, pBuf, tmp207__, 0); - *pnConsumed += 4; - pBuf += 4; - nBuf -= 4 ; - tmp208__ = 0U; - tmp208__ |= (pSrc->er_he_ltf_800_gi_4x << 0); - tmp208__ |= (pSrc->he_ppdu_20_in_40Mhz_2G << 1); - tmp208__ |= (pSrc->he_ppdu_20_in_160_80p80Mhz << 2); - tmp208__ |= (pSrc->he_ppdu_80_in_160_80p80Mhz << 3); - tmp208__ |= (pSrc->er_1x_he_ltf_gi << 4); - tmp208__ |= (pSrc->midamble_tx_rx_1x_he_ltf << 5); - tmp208__ |= (pSrc->dcm_max_bw << 6); - tmp208__ |= (pSrc->longer_than_16_he_sigb_ofdm_sym << 8); - tmp208__ |= (pSrc->non_trig_cqi_feedback << 9); - tmp208__ |= (pSrc->tx_1024_qam_lt_242_tone_ru << 10); - tmp208__ |= (pSrc->rx_1024_qam_lt_242_tone_ru << 11); - tmp208__ |= (pSrc->rx_full_bw_su_he_mu_compress_sigb << 12); - tmp208__ |= (pSrc->rx_full_bw_su_he_mu_non_cmpr_sigb << 13); - tmp208__ |= (pSrc->reserved3 << 14); + tmp207__ |= (pSrc->bsrp_ampdu_aggr << 0); + tmp207__ |= (pSrc->qtp << 1); + tmp207__ |= (pSrc->a_bqr << 2); + tmp207__ |= (pSrc->spatial_reuse_param_rspder << 3); + tmp207__ |= (pSrc->ndp_feedback_supp << 4); + tmp207__ |= (pSrc->ops_supp << 5); + tmp207__ |= (pSrc->amsdu_in_ampdu << 6); + tmp207__ |= (pSrc->multi_tid_aggr_tx_supp << 7); + tmp207__ |= (pSrc->he_sub_ch_sel_tx_supp << 10); + tmp207__ |= (pSrc->ul_2x996_tone_ru_supp << 11); + tmp207__ |= (pSrc->om_ctrl_ul_mu_data_dis_rx << 12); + tmp207__ |= (pSrc->he_dynamic_smps << 13); + tmp207__ |= (pSrc->punctured_sounding_supp << 14); + tmp207__ |= (pSrc->ht_vht_trg_frm_rx_supp << 15); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp208__, 0); + frameshtons(pCtx, pBuf, tmp207__, 0); + *pnConsumed += 2; + pBuf += 2; + nBuf -= 2 ; + tmp208__ = 0U; + tmp208__ |= (pSrc->reserved2 << 0); + tmp208__ |= (pSrc->chan_width_0 << 1); + tmp208__ |= (pSrc->chan_width_1 << 2); + tmp208__ |= (pSrc->chan_width_2 << 3); + tmp208__ |= (pSrc->chan_width_3 << 4); + tmp208__ |= (pSrc->chan_width_4 << 5); + tmp208__ |= (pSrc->chan_width_5 << 6); + tmp208__ |= (pSrc->chan_width_6 << 7); + tmp208__ |= (pSrc->rx_pream_puncturing << 8); + tmp208__ |= (pSrc->device_class << 12); + tmp208__ |= (pSrc->ldpc_coding << 13); + tmp208__ |= (pSrc->he_1x_ltf_800_gi_ppdu << 14); + tmp208__ |= (pSrc->midamble_tx_rx_max_nsts << 15); + tmp208__ |= (pSrc->he_4x_ltf_3200_gi_ndp << 17); + tmp208__ |= (pSrc->tb_ppdu_tx_stbc_lt_80mhz << 18); + tmp208__ |= (pSrc->rx_stbc_lt_80mhz << 19); + tmp208__ |= (pSrc->doppler << 20); + tmp208__ |= (pSrc->ul_mu << 22); + tmp208__ |= (pSrc->dcm_enc_tx << 24); + tmp208__ |= (pSrc->dcm_enc_rx << 27); + tmp208__ |= (pSrc->ul_he_mu << 30); + tmp208__ |= (pSrc->su_beamformer << 31); + if (unlikely(nBuf < 4)) + return DOT11F_INCOMPLETE_IE; + + frameshtonl(pCtx, pBuf, tmp208__, 0); + *pnConsumed += 4; + pBuf += 4; + nBuf -= 4 ; + tmp209__ = 0U; + tmp209__ |= (pSrc->su_beamformee << 0); + tmp209__ |= (pSrc->mu_beamformer << 1); + tmp209__ |= (pSrc->bfee_sts_lt_80 << 2); + tmp209__ |= (pSrc->bfee_sts_gt_80 << 5); + tmp209__ |= (pSrc->num_sounding_lt_80 << 8); + tmp209__ |= (pSrc->num_sounding_gt_80 << 11); + tmp209__ |= (pSrc->su_feedback_tone16 << 14); + tmp209__ |= (pSrc->mu_feedback_tone16 << 15); + tmp209__ |= (pSrc->codebook_su << 16); + tmp209__ |= (pSrc->codebook_mu << 17); + tmp209__ |= (pSrc->beamforming_feedback << 18); + tmp209__ |= (pSrc->he_er_su_ppdu << 21); + tmp209__ |= (pSrc->dl_mu_mimo_part_bw << 22); + tmp209__ |= (pSrc->ppet_present << 23); + tmp209__ |= (pSrc->srp << 24); + tmp209__ |= (pSrc->power_boost << 25); + tmp209__ |= (pSrc->he_ltf_800_gi_4x << 26); + tmp209__ |= (pSrc->max_nc << 27); + tmp209__ |= (pSrc->tb_ppdu_tx_stbc_gt_80mhz << 30); + tmp209__ |= (pSrc->rx_stbc_gt_80mhz << 31); + if (unlikely(nBuf < 4)) + return DOT11F_INCOMPLETE_IE; + + frameshtonl(pCtx, pBuf, tmp209__, 0); + *pnConsumed += 4; + pBuf += 4; + nBuf -= 4 ; + tmp210__ = 0U; + tmp210__ |= (pSrc->er_he_ltf_800_gi_4x << 0); + tmp210__ |= (pSrc->he_ppdu_20_in_40Mhz_2G << 1); + tmp210__ |= (pSrc->he_ppdu_20_in_160_80p80Mhz << 2); + tmp210__ |= (pSrc->he_ppdu_80_in_160_80p80Mhz << 3); + tmp210__ |= (pSrc->er_1x_he_ltf_gi << 4); + tmp210__ |= (pSrc->midamble_tx_rx_1x_he_ltf << 5); + tmp210__ |= (pSrc->dcm_max_bw << 6); + tmp210__ |= (pSrc->longer_than_16_he_sigb_ofdm_sym << 8); + tmp210__ |= (pSrc->non_trig_cqi_feedback << 9); + tmp210__ |= (pSrc->tx_1024_qam_lt_242_tone_ru << 10); + tmp210__ |= (pSrc->rx_1024_qam_lt_242_tone_ru << 11); + tmp210__ |= (pSrc->rx_full_bw_su_he_mu_compress_sigb << 12); + tmp210__ |= (pSrc->rx_full_bw_su_he_mu_non_cmpr_sigb << 13); + tmp210__ |= (pSrc->reserved3 << 14); + if (unlikely(nBuf < 2)) + return DOT11F_INCOMPLETE_IE; + + frameshtons(pCtx, pBuf, tmp210__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -29604,10 +30174,10 @@ uint32_t dot11f_pack_ie_he_op(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp209__; - uint8_t tmp210__; - uint8_t tmp211__; + uint16_t tmp211__; uint8_t tmp212__; + uint8_t tmp213__; + uint8_t tmp214__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_he_op(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -29621,38 +30191,38 @@ uint32_t dot11f_pack_ie_he_op(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); *pBuf = 36; ++pBuf; ++(*pnConsumed); - tmp209__ = 0U; - tmp209__ |= (pSrc->default_pe << 0); - tmp209__ |= (pSrc->twt_required << 3); - tmp209__ |= (pSrc->txop_rts_threshold << 4); - tmp209__ |= (pSrc->vht_oper_present << 14); - tmp209__ |= (pSrc->co_located_bss << 15); + tmp211__ = 0U; + tmp211__ |= (pSrc->default_pe << 0); + tmp211__ |= (pSrc->twt_required << 3); + tmp211__ |= (pSrc->txop_rts_threshold << 4); + tmp211__ |= (pSrc->vht_oper_present << 14); + tmp211__ |= (pSrc->co_located_bss << 15); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp209__, 0); + frameshtons(pCtx, pBuf, tmp211__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; - tmp210__ = 0U; - tmp210__ |= (pSrc->er_su_disable << 0); - tmp210__ |= (pSrc->oper_info_6g_present << 1); - tmp210__ |= (pSrc->reserved2 << 2); + tmp212__ = 0U; + tmp212__ |= (pSrc->er_su_disable << 0); + tmp212__ |= (pSrc->oper_info_6g_present << 1); + tmp212__ |= (pSrc->reserved2 << 2); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp210__; + *pBuf = tmp212__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - tmp211__ = 0U; - tmp211__ |= (pSrc->bss_color << 0); - tmp211__ |= (pSrc->partial_bss_col << 6); - tmp211__ |= (pSrc->bss_col_disabled << 7); + tmp213__ = 0U; + tmp213__ |= (pSrc->bss_color << 0); + tmp213__ |= (pSrc->partial_bss_col << 6); + tmp213__ |= (pSrc->bss_col_disabled << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp211__; + *pBuf = tmp213__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -29689,15 +30259,15 @@ uint32_t dot11f_pack_ie_he_op(tpAniSirGlobal pCtx, *pBuf = pSrc->oper_info_6g.info.primary_ch; *pnConsumed += 1; pBuf += 1; - tmp212__ = 0U; - tmp212__ |= (pSrc->oper_info_6g.info.ch_width << 0); - tmp212__ |= (pSrc->oper_info_6g.info.dup_bcon << 2); - tmp212__ |= (pSrc->oper_info_6g.info.reg_info << 3); - tmp212__ |= (pSrc->oper_info_6g.info.reserved << 6); + tmp214__ = 0U; + tmp214__ |= (pSrc->oper_info_6g.info.ch_width << 0); + tmp214__ |= (pSrc->oper_info_6g.info.dup_bcon << 2); + tmp214__ |= (pSrc->oper_info_6g.info.reg_info << 3); + tmp214__ |= (pSrc->oper_info_6g.info.reserved << 6); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp212__; + *pBuf = tmp214__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -29731,7 +30301,7 @@ uint32_t dot11f_pack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp213__; + uint8_t tmp215__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_hs20vendor_ie(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -29751,15 +30321,15 @@ uint32_t dot11f_pack_ie_hs20vendor_ie(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); *pBuf = 0x10; ++pBuf; ++(*pnConsumed); - tmp213__ = 0U; - tmp213__ |= (pSrc->dgaf_dis << 0); - tmp213__ |= (pSrc->hs_id_present << 1); - tmp213__ |= (pSrc->reserved << 3); - tmp213__ |= (pSrc->release_num << 4); + tmp215__ = 0U; + tmp215__ |= (pSrc->dgaf_dis << 0); + tmp215__ |= (pSrc->hs_id_present << 1); + tmp215__ |= (pSrc->reserved << 3); + tmp215__ |= (pSrc->release_num << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp213__; + *pBuf = tmp215__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -29797,7 +30367,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 tmp214__; + uint8_t tmp216__; nNeeded += 1; while (pSrc->present) { if (nNeeded > nBuf) @@ -29806,17 +30376,17 @@ uint32_t dot11f_pack_ie_ht2040_bss_coexistence(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp214__ = 0U; - tmp214__ |= (pSrc->info_request << 0); - tmp214__ |= (pSrc->forty_mhz_intolerant << 1); - tmp214__ |= (pSrc->twenty_mhz_bsswidth_req << 2); - tmp214__ |= (pSrc->obss_scan_exemption_req << 3); - tmp214__ |= (pSrc->obss_scan_exemption_grant << 4); - tmp214__ |= (pSrc->unused << 5); + tmp216__ = 0U; + tmp216__ |= (pSrc->info_request << 0); + tmp216__ |= (pSrc->forty_mhz_intolerant << 1); + tmp216__ |= (pSrc->twenty_mhz_bsswidth_req << 2); + tmp216__ |= (pSrc->obss_scan_exemption_req << 3); + tmp216__ |= (pSrc->obss_scan_exemption_grant << 4); + tmp216__ |= (pSrc->unused << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp214__; + *pBuf = tmp216__; *pnConsumed += 1; /* fieldsEndFlag = 1 */ nBuf -= 1 ; @@ -29932,14 +30502,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 tmp215__; - uint8_t tmp216__; uint8_t tmp217__; uint8_t tmp218__; uint8_t tmp219__; uint8_t tmp220__; uint8_t tmp221__; uint8_t tmp222__; + uint8_t tmp223__; + uint8_t tmp224__; nNeeded += 13; while (pSrc->present) { if (nNeeded > nBuf) @@ -29953,36 +30523,11 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, *pBuf = pSrc->qos; *pnConsumed += 1; pBuf += 1; - tmp215__ = 0U; - tmp215__ |= (pSrc->acbe_aifsn << 0); - tmp215__ |= (pSrc->acbe_acm << 4); - tmp215__ |= (pSrc->acbe_aci << 5); - tmp215__ |= (pSrc->unused1 << 7); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp215__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - tmp216__ = 0U; - tmp216__ |= (pSrc->acbe_acwmin << 0); - tmp216__ |= (pSrc->acbe_acwmax << 4); - if (unlikely(nBuf < 1)) - return DOT11F_INCOMPLETE_IE; - - *pBuf = tmp216__; - *pnConsumed += 1; - pBuf += 1; - nBuf -= 1 ; - *pBuf = pSrc->acbe_muedca_timer; - *pnConsumed += 1; - pBuf += 1; tmp217__ = 0U; - tmp217__ |= (pSrc->acbk_aifsn << 0); - tmp217__ |= (pSrc->acbk_acm << 4); - tmp217__ |= (pSrc->acbk_aci << 5); - tmp217__ |= (pSrc->unused2 << 7); + tmp217__ |= (pSrc->acbe_aifsn << 0); + tmp217__ |= (pSrc->acbe_acm << 4); + tmp217__ |= (pSrc->acbe_aci << 5); + tmp217__ |= (pSrc->unused1 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -29991,8 +30536,8 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp218__ = 0U; - tmp218__ |= (pSrc->acbk_acwmin << 0); - tmp218__ |= (pSrc->acbk_acwmax << 4); + tmp218__ |= (pSrc->acbe_acwmin << 0); + tmp218__ |= (pSrc->acbe_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -30000,14 +30545,14 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; - *pBuf = pSrc->acbk_muedca_timer; + *pBuf = pSrc->acbe_muedca_timer; *pnConsumed += 1; pBuf += 1; tmp219__ = 0U; - tmp219__ |= (pSrc->acvi_aifsn << 0); - tmp219__ |= (pSrc->acvi_acm << 4); - tmp219__ |= (pSrc->acvi_aci << 5); - tmp219__ |= (pSrc->unused3 << 7); + tmp219__ |= (pSrc->acbk_aifsn << 0); + tmp219__ |= (pSrc->acbk_acm << 4); + tmp219__ |= (pSrc->acbk_aci << 5); + tmp219__ |= (pSrc->unused2 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -30016,8 +30561,8 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp220__ = 0U; - tmp220__ |= (pSrc->acvi_acwmin << 0); - tmp220__ |= (pSrc->acvi_acwmax << 4); + tmp220__ |= (pSrc->acbk_acwmin << 0); + tmp220__ |= (pSrc->acbk_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -30025,14 +30570,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->acbk_muedca_timer; *pnConsumed += 1; pBuf += 1; tmp221__ = 0U; - tmp221__ |= (pSrc->acvo_aifsn << 0); - tmp221__ |= (pSrc->acvo_acm << 4); - tmp221__ |= (pSrc->acvo_aci << 5); - tmp221__ |= (pSrc->unused4 << 7); + tmp221__ |= (pSrc->acvi_aifsn << 0); + tmp221__ |= (pSrc->acvi_acm << 4); + tmp221__ |= (pSrc->acvi_aci << 5); + tmp221__ |= (pSrc->unused3 << 7); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -30041,8 +30586,8 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, pBuf += 1; nBuf -= 1 ; tmp222__ = 0U; - tmp222__ |= (pSrc->acvo_acwmin << 0); - tmp222__ |= (pSrc->acvo_acwmax << 4); + tmp222__ |= (pSrc->acvi_acwmin << 0); + tmp222__ |= (pSrc->acvi_acwmax << 4); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; @@ -30050,6 +30595,31 @@ uint32_t dot11f_pack_ie_mu_edca_param_set(tpAniSirGlobal pCtx, *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; + *pBuf = pSrc->acvi_muedca_timer; + *pnConsumed += 1; + pBuf += 1; + tmp223__ = 0U; + tmp223__ |= (pSrc->acvo_aifsn << 0); + tmp223__ |= (pSrc->acvo_acm << 4); + tmp223__ |= (pSrc->acvo_aci << 5); + tmp223__ |= (pSrc->unused4 << 7); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp223__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; + tmp224__ = 0U; + tmp224__ |= (pSrc->acvo_acwmin << 0); + tmp224__ |= (pSrc->acvo_acwmax << 4); + if (unlikely(nBuf < 1)) + return DOT11F_INCOMPLETE_IE; + + *pBuf = tmp224__; + *pnConsumed += 1; + pBuf += 1; + nBuf -= 1 ; *pBuf = pSrc->acvo_muedca_timer; *pnConsumed += 1; /* fieldsEndFlag = 1 */ @@ -30224,8 +30794,8 @@ uint32_t dot11f_pack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint16_t tmp223__; - uint16_t tmp224__; + uint16_t tmp225__; + uint16_t tmp226__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_reduced_neighbor_report(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -30237,16 +30807,16 @@ uint32_t dot11f_pack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); pIeLen = pBuf; ++pBuf; ++(*pnConsumed); - tmp223__ = 0U; - tmp223__ |= (pSrc->tbtt_type << 0); - tmp223__ |= (pSrc->filtered_neighbor_ap << 2); - tmp223__ |= (pSrc->reserved << 3); - tmp223__ |= (pSrc->tbtt_info_count << 4); - tmp223__ |= (pSrc->tbtt_info_len << 8); + tmp225__ = 0U; + tmp225__ |= (pSrc->tbtt_type << 0); + tmp225__ |= (pSrc->filtered_neighbor_ap << 2); + tmp225__ |= (pSrc->reserved << 3); + tmp225__ |= (pSrc->tbtt_info_count << 4); + tmp225__ |= (pSrc->tbtt_info_len << 8); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp223__, 0); + frameshtons(pCtx, pBuf, tmp225__, 0); *pnConsumed += 2; pBuf += 2; nBuf -= 2 ; @@ -30383,15 +30953,15 @@ uint32_t dot11f_pack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx, *pBuf = pSrc->tbtt_info.tbtt_info_16.mld_id; *pnConsumed += 1; pBuf += 1; - tmp224__ = 0U; - tmp224__ |= (pSrc->tbtt_info.tbtt_info_16.link_id << 0); - tmp224__ |= (pSrc->tbtt_info.tbtt_info_16.bss_param_change_cnt << 4); - tmp224__ |= (pSrc->tbtt_info.tbtt_info_16.all_updates_included << 12); - tmp224__ |= (pSrc->tbtt_info.tbtt_info_16.reserved << 13); + tmp226__ = 0U; + tmp226__ |= (pSrc->tbtt_info.tbtt_info_16.link_id << 0); + tmp226__ |= (pSrc->tbtt_info.tbtt_info_16.bss_param_change_cnt << 4); + tmp226__ |= (pSrc->tbtt_info.tbtt_info_16.all_updates_included << 12); + tmp226__ |= (pSrc->tbtt_info.tbtt_info_16.reserved << 13); if (unlikely(nBuf < 2)) return DOT11F_INCOMPLETE_IE; - frameshtons(pCtx, pBuf, tmp224__, 0); + frameshtons(pCtx, pBuf, tmp226__, 0); *pnConsumed += 2; /* fieldsEndFlag = 1 */ nBuf -= 2 ; @@ -30481,7 +31051,7 @@ uint32_t dot11f_pack_ie_spatial_reuse(tpAniSirGlobal pCtx, uint8_t *pIeLen = 0; uint32_t nConsumedOnEntry = *pnConsumed; uint32_t nNeeded = 0U; - uint8_t tmp225__; + uint8_t tmp227__; uint32_t status = DOT11F_PARSE_SUCCESS; status = dot11f_get_packed_ie_spatial_reuse(pCtx, pSrc, &nNeeded); if (!DOT11F_SUCCEEDED(status)) @@ -30495,17 +31065,17 @@ uint32_t dot11f_pack_ie_spatial_reuse(tpAniSirGlobal pCtx, ++pBuf; ++(*pnConsumed); *pBuf = 39; ++pBuf; ++(*pnConsumed); - tmp225__ = 0U; - tmp225__ |= (pSrc->psr_disallow << 0); - tmp225__ |= (pSrc->non_srg_pd_sr_disallow << 1); - tmp225__ |= (pSrc->non_srg_offset_present << 2); - tmp225__ |= (pSrc->srg_info_present << 3); - tmp225__ |= (pSrc->sr_value15_allow << 4); - tmp225__ |= (pSrc->reserved << 5); + tmp227__ = 0U; + tmp227__ |= (pSrc->psr_disallow << 0); + tmp227__ |= (pSrc->non_srg_pd_sr_disallow << 1); + tmp227__ |= (pSrc->non_srg_offset_present << 2); + tmp227__ |= (pSrc->srg_info_present << 3); + tmp227__ |= (pSrc->sr_value15_allow << 4); + tmp227__ |= (pSrc->reserved << 5); if (unlikely(nBuf < 1)) return DOT11F_INCOMPLETE_IE; - *pBuf = tmp225__; + *pBuf = tmp227__; *pnConsumed += 1; pBuf += 1; nBuf -= 1 ; @@ -32060,6 +32630,14 @@ static uint32_t pack_core(tpAniSirGlobal pCtx, sizeof(tDot11fIEneighbor_rpt) * i), pBufRemaining, nBufRemaining, &len); break; + case SigIereporting_reason: + status |= + dot11f_pack_ie_reporting_reason( + pCtx, (tDot11fIEreporting_reason *) + (pSrc + pIe->offset + + sizeof(tDot11fIEreporting_reason) * i), + pBufRemaining, nBufRemaining, &len); + break; case SigIereq_mac_addr: status |= dot11f_pack_ie_req_mac_addr(