瀏覽代碼

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
Naga 4 年之前
父節點
當前提交
71b1eaed3e
共有 1 個文件被更改,包括 25 次插入0 次删除
  1. 25 0
      dp/wifi3.0/dp_internal.h

+ 25 - 0
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].