Search Linux Wireless

[PATCH] ath11k: properly convert peer stats

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Venkateswara Naralasetty <vnaralas@xxxxxxxxxxxxxx>

The bandwidth was not converted from mac80211 to ath11k values correctly.
This patch adds a helper function to do it for us.

Signed-off-by: John Crispin <john@xxxxxxxxxxx>
Signed-off-by: Venkateswara Naralasetty <vnaralas@xxxxxxxxxxxxxx>
---
 drivers/net/wireless/ath/ath11k/debugfs_sta.c | 24 ++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/debugfs_sta.c b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
index d851d87e8a37..1d562133ae1e 100644
--- a/drivers/net/wireless/ath/ath11k/debugfs_sta.c
+++ b/drivers/net/wireless/ath/ath11k/debugfs_sta.c
@@ -11,6 +11,28 @@
 #include "dp_tx.h"
 #include "debug_htt_stats.h"
 
+static u8 mac80211_bw_to_ath11k_bw(u8 bw)
+{
+	u8 ret = 0;
+
+	switch (bw) {
+	case RATE_INFO_BW_20:
+		ret = ATH11K_BW_20;
+		break;
+	case RATE_INFO_BW_40:
+		ret = ATH11K_BW_40;
+		break;
+	case RATE_INFO_BW_80:
+		ret = ATH11K_BW_80;
+		break;
+	case RATE_INFO_BW_160:
+		ret = ATH11K_BW_160;
+		break;
+	}
+
+	return ret;
+}
+
 void
 ath11k_accumulate_per_peer_tx_stats(struct ath11k_sta *arsta,
 				    struct ath11k_per_peer_tx_stats *peer_stats,
@@ -26,7 +48,7 @@ ath11k_accumulate_per_peer_tx_stats(struct ath11k_sta *arsta,
 	tx_stats = arsta->tx_stats;
 	gi = FIELD_GET(RATE_INFO_FLAGS_SHORT_GI, arsta->txrate.flags);
 	mcs = txrate->mcs;
-	bw = txrate->bw;
+	bw = mac80211_bw_to_ath11k_bw(txrate->bw);
 	nss = txrate->nss - 1;
 
 #define STATS_OP_FMT(name) tx_stats->stats[ATH11K_STATS_TYPE_##name]
-- 
2.20.1




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux