qcacmn: VHT/HE info in radiotap header of mgmt & control frames

In monitor mode, radiotap header contains VHT/HE information in management
and control frames after association of STA to AP.For this,reset of
ppdu_info is required before processing of ppdu in order to avoid reuse
of ppdu_info.

Change-Id: Ia36ec2664f79d645ff76db016f986dfb92ec8bbd
CRs-Fixed: 2734804
This commit is contained in:
Harsh Kumar Bijlani
2020-06-04 17:59:14 +05:30
committed by snandini
parent da291f0045
commit cc9f9c7c1f
4 changed files with 25 additions and 18 deletions

View File

@@ -568,11 +568,18 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo,
case WIFIRX_PPDU_START_E:
{
struct hal_rx_ppdu_common_info *com_info = &ppdu_info->com_info;
if (qdf_likely(ppdu_info->com_info.ppdu_id !=
HAL_RX_GET(rx_tlv, RX_PPDU_START_0, PHY_PPDU_ID)))
/* Reset ppdu_info before processing the ppdu */
qdf_mem_zero(ppdu_info,
sizeof(struct hal_rx_ppdu_info));
else
qdf_assert_always(0);
ppdu_info->com_info.ppdu_id =
HAL_RX_GET(rx_tlv, RX_PPDU_START_0,
PHY_PPDU_ID);
/* channel number is set in PHY meta data */
ppdu_info->rx_status.chan_num =
(HAL_RX_GET(rx_tlv, RX_PPDU_START_1,
@@ -594,20 +601,6 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo,
ppdu_info->com_info.ppdu_timestamp;
ppdu_info->rx_state = HAL_RX_MON_PPDU_START;
/* If last ppdu_id doesn't match new ppdu_id,
* 1. reset mpdu_cnt
* 2. update last_ppdu_id with new
* 3. reset mpdu fcs bitmap
*/
if (com_info->ppdu_id != com_info->last_ppdu_id) {
com_info->mpdu_cnt = 0;
com_info->last_ppdu_id =
com_info->ppdu_id;
com_info->num_users = 0;
qdf_mem_zero(&com_info->mpdu_fcs_ok_bitmap,
HAL_RX_NUM_WORDS_PER_PPDU_BITMAP *
sizeof(com_info->mpdu_fcs_ok_bitmap[0]));
}
break;
}