From 71b1eaed3e402f8deec353d076a3c511323ce48f Mon Sep 17 00:00:00 2001 From: Naga Date: Wed, 16 Sep 2020 14:37:24 +0530 Subject: [PATCH] qcacmn: Add stats support for wds ext peer Add logic to exclude dp peer stats from dp vdev stats if wds extended is enabled. Change-Id: I1a5a1794e04f90877916f92b7f4216a525ce6cce CRs-Fixed: 2778199 --- dp/wifi3.0/dp_internal.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/dp/wifi3.0/dp_internal.h b/dp/wifi3.0/dp_internal.h index e1d017b3e2b6..683627f521ea 100644 --- a/dp/wifi3.0/dp_internal.h +++ b/dp/wifi3.0/dp_internal.h @@ -751,6 +751,28 @@ static inline void dp_update_pdev_ingress_stats(struct dp_pdev *tgtobj, } +/** + * dp_is_wds_extended(): Check if wds ext is enabled + * @vdev: DP VDEV handle + * + * return: true if enabled, false if not + */ +#ifdef QCA_SUPPORT_WDS_EXTENDED +static bool dp_is_wds_extended(struct dp_peer *peer) +{ + if (qdf_atomic_test_bit(WDS_EXT_PEER_INIT_BIT, + &peer->wds_ext.init)) + return true; + + return false; +} +#else +static bool dp_is_wds_extended(struct dp_peer *peer) +{ + return false; +} +#endif /* QCA_SUPPORT_WDS_EXTENDED */ + static inline void dp_update_vdev_stats(struct dp_soc *soc, struct dp_peer *srcobj, void *arg) @@ -759,6 +781,9 @@ static inline void dp_update_vdev_stats(struct dp_soc *soc, uint8_t i; uint8_t pream_type; + if (qdf_unlikely(dp_is_wds_extended(srcobj))) + return; + for (pream_type = 0; pream_type < DOT11_MAX; pream_type++) { for (i = 0; i < MAX_MCS; i++) { tgtobj->tx.pkt_type[pream_type].