From ce9d2d41aec96270ff5036835cb71d28d0a5475b Mon Sep 17 00:00:00 2001 From: Sravan Kumar Kairam Date: Thu, 20 Dec 2018 15:39:56 +0530 Subject: qcacld-3.0: Fix sap adapter net dev rx stats Currently ipa tx and rx stats are always updated to the last adapter. If the last adapter is not SAP then rx stats are not updated to SAP net dev stats. Fix by correctly updating the ipa stats to adapter whose device mode is SAP only. Change-Id: I3ac1970f4e5199f2f4e72dcea66016281e34b6a4 CRs-Fixed: 2368746 --- core/hdd/src/wlan_hdd_main.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 36777e9e7bb5..3c989d4f9ffb 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -7416,6 +7416,7 @@ static void hdd_bus_bw_compute_cbk(void *priv) { hdd_context_t *hdd_ctx = (hdd_context_t *)priv; hdd_adapter_t *adapter = NULL; + hdd_adapter_t *sap_adapter = NULL; uint64_t tx_packets = 0, rx_packets = 0; uint64_t fwd_tx_packets = 0, fwd_rx_packets = 0; uint64_t fwd_tx_packets_diff = 0, fwd_rx_packets_diff = 0; @@ -7459,6 +7460,9 @@ static void hdd_bus_bw_compute_cbk(void *priv) continue; } + if (adapter->device_mode == QDF_SAP_MODE) + sap_adapter = adapter; + tx_packets += HDD_BW_GET_DIFF(adapter->stats.tx_packets, adapter->prev_tx_packets); rx_packets += HDD_BW_GET_DIFF(adapter->stats.rx_packets, @@ -7508,8 +7512,10 @@ static void hdd_bus_bw_compute_cbk(void *priv) tx_packets += (uint64_t)ipa_tx_packets; rx_packets += (uint64_t)ipa_rx_packets; - adapter->stats.tx_packets += ipa_tx_packets; - adapter->stats.rx_packets += ipa_rx_packets; + if (sap_adapter) { + sap_adapter->stats.tx_packets += ipa_tx_packets; + sap_adapter->stats.rx_packets += ipa_rx_packets; + } hdd_ipa_set_perf_level(hdd_ctx, tx_packets, rx_packets); hdd_ipa_uc_stat_request(hdd_ctx, 2); -- cgit v1.2.3