summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDustin Brown <dustinb@codeaurora.org>2016-11-10 17:21:18 -0800
committerDustin Brown <dustinb@codeaurora.org>2016-11-11 09:49:35 -0800
commitd2407b010bca080192463489ecc73665c8d439a0 (patch)
tree03c10aa30a8e0bb7019b5d5912db454a9a55d022
parent89ac67a3a808f76ce9b0c599e7655a9d6cce662a (diff)
qcacld-3.0: Fix multiple chain RSSI stats parsing
When parsing multiple chain RSSI stats data from firmware, there is a struct array TLV header that is not being accounted for. Properly account for the struct array TLV header. Change-Id: Ib41643ae9e859de6fd0d20a84c015e2b8f7205dc CRs-Fixed: 1088660
-rw-r--r--core/wma/src/wma_utils.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/wma/src/wma_utils.c b/core/wma/src/wma_utils.c
index f5273850f7dd..37a242410b46 100644
--- a/core/wma/src/wma_utils.c
+++ b/core/wma/src/wma_utils.c
@@ -1696,6 +1696,10 @@ int wma_stats_event_handler(void *handle, uint8_t *cmd_param_info,
if (rssi_event->num_per_chain_rssi_stats > 0) {
temp = (uint8_t *) rssi_event;
temp += sizeof(*rssi_event);
+
+ /* skip past struct array tlv header */
+ temp += WMI_TLV_HDR_SIZE;
+
for (i = 0;
i < rssi_event->num_per_chain_rssi_stats;
i++) {