qcacmn: Process All the pdev stats events

There are 2 issues in the driver:
1. Currently host incorrectly fills the pdev id value as 0
   in stats request, If host sends the pdev id as 0 for
   stats request then FW sends the stats for all the pdevs.
2. If host requests pdev stats with pdev id as 0,
   FW can send multiple events for each pdev stats
   if one event buffer is not sufficient to fill the stats
   for all the pdevs. Curent host logic doesn't process
   multiple pdev stats events.

Address above 2 issues with below fixes:
1. Send correct pdev id to FW in the stats command.
2. Add a logic in host to process all the pdev stats events
   received as part of the pdev stats request.

Change-Id: I5b5bfcda2f30fb32749c653c6524ecbd2edc44a4
CRs-Fixed: 2503273
This commit is contained in:
Ashish Kumar Dhanotiya
2019-08-05 17:12:24 +05:30
committed by nshrivas
parent 0391a23ca3
commit 0cf77a56ea
3 changed files with 8 additions and 34 deletions

View File

@@ -2040,8 +2040,9 @@ static QDF_STATUS send_stats_request_cmd_tlv(wmi_unified_t wmi_handle,
(wmi_request_stats_cmd_fixed_param));
cmd->stats_id = param->stats_id;
cmd->vdev_id = param->vdev_id;
cmd->pdev_id = wmi_handle->ops->convert_pdev_id_host_to_target(
cmd->pdev_id = wmi_handle->ops->convert_host_pdev_id_to_target(
param->pdev_id);
WMI_CHAR_ARRAY_TO_MAC_ADDR(macaddr, &cmd->peer_macaddr);
WMI_LOGD("STATS REQ STATS_ID:%d VDEV_ID:%d PDEV_ID:%d-->",