diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c index 69ff23e46a..6e9eb7b80e 100644 --- a/core/hdd/src/wlan_hdd_ipa.c +++ b/core/hdd/src/wlan_hdd_ipa.c @@ -382,8 +382,15 @@ void hdd_ipa_send_skb_to_network(qdf_nbuf_t skb, qdf_netdev_t dev) cpu_index = wlan_hdd_get_cpu(); ++adapter->hdd_stats.tx_rx_stats.rx_packets[cpu_index]; - ++adapter->stats.rx_packets; - adapter->stats.rx_bytes += skb->len; + + /* + * Update STA RX exception packet stats. + * For SAP as part of IPA HW stats are updated. + */ + if (adapter->device_mode == QDF_STA_MODE) { + ++adapter->stats.rx_packets; + adapter->stats.rx_bytes += skb->len; + } result = hdd_ipa_aggregated_rx_ind(skb); if (result == NET_RX_SUCCESS) diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index bf71ab4b11..96c3f2dc7e 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -7279,6 +7279,9 @@ static void hdd_bus_bw_work_handler(struct work_struct *work) 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; + ucfg_ipa_set_perf_level(hdd_ctx->hdd_pdev, tx_packets, rx_packets); ucfg_ipa_uc_stat_request(hdd_ctx->hdd_pdev, 2); }