summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAjit Vaishya <ajitv@codeaurora.org>2019-06-11 17:38:10 +0530
committerHsiu-Chang Chen <hsiuchangchen@google.com>2021-11-05 12:09:59 +0800
commitef79d4cb49b7eb7f21f50a744018b088e6a0f7cb (patch)
tree2884f194843399e3cb4a85eb8c43985b6a905443
parentdfc0b2eaa4dbacdb8ea298986de9ef46888dbb40 (diff)
downloadwlan-android12-qpr3-s4-release.tar.gz
Validate the per packet TX rate codes and calculate transmit rate only for valid rate codes. Bug: 201226143 Test: Regression tests Change-Id: I287d19d97970523b0d695e7dcbd606a49fa23f7c CRs-Fixed: 2469251
-rw-r--r--qcwcn/wifi_hal/pkt_stats.h1
-rw-r--r--qcwcn/wifi_hal/wifilogger_diag.cpp3
2 files changed, 3 insertions, 1 deletions
diff --git a/qcwcn/wifi_hal/pkt_stats.h b/qcwcn/wifi_hal/pkt_stats.h
index 7cc64b8..d4348cd 100644
--- a/qcwcn/wifi_hal/pkt_stats.h
+++ b/qcwcn/wifi_hal/pkt_stats.h
@@ -49,6 +49,7 @@
#define PKTLOG_TYPE_MAX 12
#define BW_OFFSET 8
#define INVALID_RSSI 255
+#define INVALID_RATE_CODE 0xff
/* Based on pkt log V2, this type of event will triggered */
#define PKTLOG_TYPE_PKT_SW_EVENT 10
diff --git a/qcwcn/wifi_hal/wifilogger_diag.cpp b/qcwcn/wifi_hal/wifilogger_diag.cpp
index 436a42b..bdc9c7f 100644
--- a/qcwcn/wifi_hal/wifilogger_diag.cpp
+++ b/qcwcn/wifi_hal/wifilogger_diag.cpp
@@ -2338,7 +2338,8 @@ static wifi_error parse_stats_sw_event(hal_info *info,
node_pkt_t.qos_ctrl = *((u8*)(node_pkt_data + QOS_CTRL_OFFSET));
rb_pkt_stats->tid = node_pkt_t.qos_ctrl & 0xF;
rb_pkt_stats->MCS = get_tx_mcs_v1(node_pkt_data);
- rb_pkt_stats->last_transmit_rate = get_rate_v1(rb_pkt_stats->MCS);
+ if ((rb_pkt_stats->MCS & INVALID_RATE_CODE) != INVALID_RATE_CODE)
+ rb_pkt_stats->last_transmit_rate = get_rate_v1(rb_pkt_stats->MCS);
node_pkt_t.bmap_failed = *((u64*)(node_pkt_data + BMAP_FAILED_OFFSET));
node_pkt_t.bmap_enqueued = *((u64*)(node_pkt_data + BMAP_ENQUEUED_OFFSET));