diff --git a/hal/wifi3.0/hal_api_mon.h b/hal/wifi3.0/hal_api_mon.h index 1ed2edf593a6..a6543265c972 100644 --- a/hal/wifi3.0/hal_api_mon.h +++ b/hal/wifi3.0/hal_api_mon.h @@ -421,23 +421,6 @@ void hal_rx_mon_hw_desc_get_mpdu_status(void *hw_desc_addr, rs->nr_ant = HAL_RX_GET(rx_msdu_start, RX_MSDU_START_5, NSS); #endif - reg_value = HAL_RX_GET(rx_msdu_start, RX_MSDU_START_5, PKT_TYPE); - switch (reg_value) { - case HAL_RX_PKT_TYPE_11N: - rs->ht_flags = 1; - break; - case HAL_RX_PKT_TYPE_11AC: - rs->vht_flags = 1; - reg_value = HAL_RX_GET(rx_msdu_start, RX_MSDU_START_5, - RECEIVE_BANDWIDTH); - rs->vht_flag_values2 = reg_value; - break; - case HAL_RX_PKT_TYPE_11AX: - rs->he_flags = 1; - break; - default: - break; - } reg_value = HAL_RX_GET(rx_msdu_start, RX_MSDU_START_5, RECEPTION_TYPE); rs->beamformed = (reg_value == HAL_RX_RECEPTION_TYPE_MU_MIMO) ? 1 : 0; /* TODO: rs->beamformed should be set for SU beamforming also */ @@ -570,8 +553,6 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info) ppdu_info->rx_status.other_msdu_count = HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_10, OTHER_MSDU_COUNT); - ppdu_info->rx_status.nss = - HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_1, NSS); ppdu_info->rx_status.frame_control_info_valid = HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_3, @@ -585,6 +566,20 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info) ppdu_info->rx_status.preamble_type = HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_3, HT_CONTROL_FIELD_PKT_TYPE); + switch (ppdu_info->rx_status.preamble_type) { + case HAL_RX_PKT_TYPE_11N: + ppdu_info->rx_status.ht_flags = 1; + break; + case HAL_RX_PKT_TYPE_11AC: + ppdu_info->rx_status.vht_flags = 1; + break; + case HAL_RX_PKT_TYPE_11AX: + ppdu_info->rx_status.he_flags = 1; + break; + default: + break; + } + ppdu_info->com_info.mpdu_cnt_fcs_ok = HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_3, MPDU_CNT_FCS_OK); @@ -728,6 +723,8 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info) | ppdu_info->rx_status.nss); ppdu_info->rx_status.bw = HAL_RX_GET(vht_sig_a_info, VHT_SIG_A_INFO_0, BANDWIDTH); + ppdu_info->rx_status.vht_flag_values2 = + ppdu_info->rx_status.bw; break; }