From d2407b010bca080192463489ecc73665c8d439a0 Mon Sep 17 00:00:00 2001 From: Dustin Brown Date: Thu, 10 Nov 2016 17:21:18 -0800 Subject: 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 --- core/wma/src/wma_utils.c | 4 ++++ 1 file changed, 4 insertions(+) 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++) { -- cgit v1.2.3