diff options
| author | Dustin Brown <dustinb@codeaurora.org> | 2016-11-10 17:21:18 -0800 |
|---|---|---|
| committer | Dustin Brown <dustinb@codeaurora.org> | 2016-11-11 09:49:35 -0800 |
| commit | d2407b010bca080192463489ecc73665c8d439a0 (patch) | |
| tree | 03c10aa30a8e0bb7019b5d5912db454a9a55d022 /core/wma/src | |
| parent | 89ac67a3a808f76ce9b0c599e7655a9d6cce662a (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
Diffstat (limited to 'core/wma/src')
| -rw-r--r-- | core/wma/src/wma_utils.c | 4 |
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++) { |
