diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 5f6ed0f60946..67c128e26716 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -577,6 +577,18 @@ struct hdd_icmpv4_stats_s { uint16_t tx_ack_cnt; }; +/** + * struct hdd_peer_stats - Peer stats at HDD level + * @rx_count: RX count + * @rx_bytes: RX bytes + * @fcs_count: FCS err count + */ +struct hdd_peer_stats { + uint32_t rx_count; + uint64_t rx_bytes; + uint32_t fcs_count; +}; + struct hdd_stats { tCsrSummaryStatsInfo summary_stat; tCsrGlobalClassAStatsInfo class_a_stat; @@ -587,6 +599,7 @@ struct hdd_stats { struct hdd_dns_stats_s hdd_dns_stats; struct hdd_tcp_stats_s hdd_tcp_stats; struct hdd_icmpv4_stats_s hdd_icmpv4_stats; + struct hdd_peer_stats peer_stats; #ifdef WLAN_FEATURE_11W struct hdd_pmf_stats hdd_pmf_stats; #endif diff --git a/core/hdd/src/wlan_hdd_stats.c b/core/hdd/src/wlan_hdd_stats.c index c3307bd51907..f982f9847978 100644 --- a/core/hdd/src/wlan_hdd_stats.c +++ b/core/hdd/src/wlan_hdd_stats.c @@ -4568,8 +4568,8 @@ static int wlan_hdd_get_sta_stats(struct wiphy *wiphy, wlan_hdd_fill_summary_stats(&adapter->hdd_stats.summary_stat, sinfo); sinfo->tx_bytes = adapter->stats.tx_bytes; - sinfo->rx_bytes = adapter->stats.rx_bytes; - sinfo->rx_packets = adapter->stats.rx_packets; + sinfo->rx_bytes = adapter->hdd_stats.peer_stats.rx_bytes; + sinfo->rx_packets = adapter->hdd_stats.peer_stats.rx_count; qdf_mem_copy(&sta_ctx->conn_info.txrate, &sinfo->txrate, sizeof(sinfo->txrate)); @@ -5956,6 +5956,12 @@ int wlan_hdd_get_station_stats(struct hdd_adapter *adapter) stats->vdev_summary_stats[0].stats.rx_discard_cnt; adapter->hdd_stats.summary_stat.rx_error_cnt = stats->vdev_summary_stats[0].stats.rx_error_cnt; + adapter->hdd_stats.peer_stats.rx_count = + stats->peer_adv_stats->rx_count; + adapter->hdd_stats.peer_stats.rx_bytes = + stats->peer_adv_stats->rx_bytes; + adapter->hdd_stats.peer_stats.fcs_count = + stats->peer_adv_stats->fcs_count; /* save class a stats to legacy location */ adapter->hdd_stats.class_a_stat.tx_nss =