Browse Source

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
Dustin Brown 8 years ago
parent
commit
c4a5ba2124
1 changed files with 4 additions and 0 deletions
  1. 4 0
      core/wma/src/wma_utils.c

+ 4 - 0
core/wma/src/wma_utils.c

@@ -1695,6 +1695,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++) {