From 49cdc74b40e57397f4a55ff40894fb20d8598983 Mon Sep 17 00:00:00 2001 From: Keyur Parekh Date: Wed, 9 May 2018 10:59:03 -0700 Subject: [PATCH] qcacmn: Modify SGI value in case of VHT SIG TLV In VHT case, for some packets SGI value is 3, which represent 3.2us value. Which is not applicable for VHT. So if value 3 received from HW for SGI, than convert that to default value, which is 0.4us. Change-Id: I92716f8041f0db20b60dcd5e5d6681fa1bfa708f --- dp/wifi3.0/dp_internal.h | 3 +++ dp/wifi3.0/dp_rx_mon_status.c | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/dp/wifi3.0/dp_internal.h b/dp/wifi3.0/dp_internal.h index 5a376eca7539..adb00218fd39 100644 --- a/dp/wifi3.0/dp_internal.h +++ b/dp/wifi3.0/dp_internal.h @@ -23,6 +23,9 @@ #define RX_BUFFER_SIZE_PKTLOG_LITE 1024 +/* Macro For NYSM value received in VHT TLV */ +#define VHT_SGI_NYSM 3 + #if DP_PRINT_ENABLE #include /* va_list */ #include /* qdf_vprint */ diff --git a/dp/wifi3.0/dp_rx_mon_status.c b/dp/wifi3.0/dp_rx_mon_status.c index 70431df62c8b..cea842133e12 100644 --- a/dp/wifi3.0/dp_rx_mon_status.c +++ b/dp/wifi3.0/dp_rx_mon_status.c @@ -60,7 +60,11 @@ dp_rx_populate_cdp_indication_ppdu(struct dp_pdev *pdev, cdp_rx_ppdu->other_msdu_count = ppdu_info->rx_status.other_msdu_count; cdp_rx_ppdu->u.nss = ppdu_info->rx_status.nss; cdp_rx_ppdu->u.mcs = ppdu_info->rx_status.mcs; - cdp_rx_ppdu->u.gi = ppdu_info->rx_status.sgi; + if ((ppdu_info->rx_status.sgi == VHT_SGI_NYSM) && + (ppdu_info->rx_status.preamble_type == HAL_RX_PKT_TYPE_11AC)) + cdp_rx_ppdu->u.gi = CDP_SGI_0_4_US; + else + cdp_rx_ppdu->u.gi = ppdu_info->rx_status.sgi; cdp_rx_ppdu->u.ldpc = ppdu_info->rx_status.ldpc; cdp_rx_ppdu->u.preamble = ppdu_info->rx_status.preamble_type; cdp_rx_ppdu->u.ppdu_type = ppdu_info->rx_status.reception_type;