qcacmn: Fix for ampdu aggregation in host statistics

Ampdu count is populated in pdev
but zeroed before printing. Fix it to
be populated in peer and aggregated
in pdev before printing

Change-Id: I51d8f1968a87c0b9dbf53928acd1bbef45acc7ec
CRs-Fixed: 2025785
This commit is contained in:
Venkata Sharath Chandra Manchala 2017-03-27 11:40:26 -07:00
commit 87686d9a2f
2 changed files with 6 additions and 5 deletions

View file

@ -2140,6 +2140,7 @@ void dp_aggregate_vdev_stats(struct dp_vdev *vdev)
DP_STATS_AGGR(vdev, peer, rx.err.mic_err);
DP_STATS_AGGR(vdev, peer, rx.err.decrypt_err);
DP_STATS_AGGR(vdev, peer, rx.non_ampdu_cnt);
DP_STATS_AGGR(vdev, peer, rx.ampdu_cnt);
DP_STATS_AGGR(vdev, peer, rx.non_amsdu_cnt);
DP_STATS_AGGR(vdev, peer, rx.amsdu_cnt);
DP_STATS_AGGR_PKT(vdev, peer, rx.to_stack);
@ -2526,7 +2527,7 @@ dp_print_rx_rates(struct dp_vdev *vdev)
pdev->stats.rx.reception_type[2],
pdev->stats.rx.reception_type[3]);
DP_TRACE(NONE, "Aggregation:\n");
DP_TRACE(NONE, "Number of Msdu's Part of Ampdu = %d",
DP_TRACE(NONE, "Number of Msdu's Part of Ampdus = %d",
pdev->stats.rx.ampdu_cnt);
DP_TRACE(NONE, "Number of Msdu's With No Mpdu Level Aggregation : %d",
pdev->stats.rx.non_ampdu_cnt);

View file

@ -617,8 +617,8 @@ dp_rx_process(struct dp_soc *soc, void *hal_ring, uint32_t quota)
ampdu_flag = (mpdu_desc_info.mpdu_flags &
HAL_MPDU_F_AMPDU_FLAG);
DP_STATS_INCC(vdev->pdev, rx.ampdu_cnt, 1, ampdu_flag);
DP_STATS_INCC(vdev->pdev, rx.non_ampdu_cnt, 1, !(ampdu_flag));
DP_STATS_INCC(peer, rx.ampdu_cnt, 1, ampdu_flag);
DP_STATS_INCC(peer, rx.non_ampdu_cnt, 1, !(ampdu_flag));
hal_rx_msdu_desc_info_get(ring_desc, &msdu_desc_info);
amsdu_flag = ((msdu_desc_info.msdu_flags &
@ -626,9 +626,9 @@ dp_rx_process(struct dp_soc *soc, void *hal_ring, uint32_t quota)
(msdu_desc_info.msdu_flags &
HAL_MSDU_F_LAST_MSDU_IN_MPDU));
DP_STATS_INCC(vdev->pdev, rx.non_amsdu_cnt, 1,
DP_STATS_INCC(peer, rx.non_amsdu_cnt, 1,
amsdu_flag);
DP_STATS_INCC(vdev->pdev, rx.amsdu_cnt, 1,
DP_STATS_INCC(peer, rx.amsdu_cnt, 1,
!(amsdu_flag));
qdf_nbuf_queue_add(&vdev->rxq, rx_desc->nbuf);