summaryrefslogtreecommitdiff
path: root/qcwcn/wifi_hal/wifilogger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qcwcn/wifi_hal/wifilogger.cpp')
-rw-r--r--qcwcn/wifi_hal/wifilogger.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/qcwcn/wifi_hal/wifilogger.cpp b/qcwcn/wifi_hal/wifilogger.cpp
index 506e0df..6ea5eaf 100644
--- a/qcwcn/wifi_hal/wifilogger.cpp
+++ b/qcwcn/wifi_hal/wifilogger.cpp
@@ -625,7 +625,9 @@ wifi_error wifi_start_pkt_fate_monitoring(wifi_interface_handle iface)
}
memset(info->pkt_fate_stats, 0, sizeof(packet_fate_monitor_info));
+ pthread_mutex_lock(&info->pkt_fate_stats_lock);
info->fate_monitoring_enabled = true;
+ pthread_mutex_unlock(&info->pkt_fate_stats_lock);
return WIFI_SUCCESS;
}
@@ -651,13 +653,16 @@ wifi_error wifi_get_tx_pkt_fates(wifi_interface_handle iface,
{
wifi_handle wifiHandle = getWifiHandle(iface);
hal_info *info = getHalInfo(wifiHandle);
- wifi_tx_report_i *tx_fate_stats = &info->pkt_fate_stats->tx_fate_stats[0];
+ wifi_tx_report_i *tx_fate_stats;
size_t i;
if (info->fate_monitoring_enabled != true) {
ALOGE("Packet monitoring is not yet triggered");
return WIFI_ERROR_UNINITIALIZED;
}
+ pthread_mutex_lock(&info->pkt_fate_stats_lock);
+
+ tx_fate_stats = &info->pkt_fate_stats->tx_fate_stats[0];
*n_provided_fates = min(n_requested_fates,
info->pkt_fate_stats->n_tx_stats_collected);
@@ -693,6 +698,7 @@ wifi_error wifi_get_tx_pkt_fates(wifi_interface_handle iface,
* ignore the all other types of packets received from driver */
ALOGI("Unknown format packet");
}
+ pthread_mutex_unlock(&info->pkt_fate_stats_lock);
return WIFI_SUCCESS;
}
@@ -717,13 +723,16 @@ wifi_error wifi_get_rx_pkt_fates(wifi_interface_handle iface,
{
wifi_handle wifiHandle = getWifiHandle(iface);
hal_info *info = getHalInfo(wifiHandle);
- wifi_rx_report_i *rx_fate_stats = &info->pkt_fate_stats->rx_fate_stats[0];
+ wifi_rx_report_i *rx_fate_stats;
size_t i;
if (info->fate_monitoring_enabled != true) {
ALOGE("Packet monitoring is not yet triggered");
return WIFI_ERROR_UNINITIALIZED;
}
+ pthread_mutex_lock(&info->pkt_fate_stats_lock);
+
+ rx_fate_stats = &info->pkt_fate_stats->rx_fate_stats[0];
*n_provided_fates = min(n_requested_fates,
info->pkt_fate_stats->n_rx_stats_collected);
@@ -759,6 +768,7 @@ wifi_error wifi_get_rx_pkt_fates(wifi_interface_handle iface,
* ignore the all other types of packets received from driver */
ALOGI("Unknown format packet");
}
+ pthread_mutex_unlock(&info->pkt_fate_stats_lock);
return WIFI_SUCCESS;
}