qcacmn: Fix MLO link stats issues

Add link_id check while aggregatin stats into vdev at 
time of peer unmap, otherwise vdev stats are aggregated 
twice and hence give incorrect output.

Also comment out link_id fetch in BE Rx path as it is 
currently not enabled.

Change-Id: I91ceab4c6380bbd6e0cb2717adb2413e9e8e4221
CRs-Fixed: 3435688
This commit is contained in:
Harsh Kumar Bijlani
2023-03-16 13:20:26 +05:30
committed by Madan Koyyalamudi
parent 95dcc45ec2
commit 2d75a88f1e
2 changed files with 7 additions and 4 deletions

View File

@@ -565,6 +565,7 @@ done:
rx_bufs_used++;
#ifdef DP_MLO_LINK_STATS_SUPPORT
/* MLD Link Peer Statistics support */
if (txrx_peer->is_mld_peer && rx_pdev->link_peer_stats) {
link_id = ((dp_rx_get_msdu_hw_link_id(nbuf)) + 1);
@@ -573,6 +574,7 @@ done:
} else {
link_id = 0;
}
#endif
/* when hlos tid override is enabled, save tid in
* skb->priority

View File

@@ -8565,10 +8565,11 @@ void dp_update_vdev_stats_on_peer_unmap(struct dp_vdev *vdev,
if (IS_MLO_DP_LINK_PEER(peer)) {
link_id = dp_get_peer_hw_link_id(soc, pdev);
per_pkt_stats = &txrx_peer->
stats[link_id].per_pkt_stats;
DP_UPDATE_PER_PKT_STATS(vdev_stats,
per_pkt_stats);
if (link_id > 0) {
per_pkt_stats =
&txrx_peer->stats[link_id].per_pkt_stats;
DP_UPDATE_PER_PKT_STATS(vdev_stats, per_pkt_stats);
}
}
link_stats: