The NSS data is updated incorrectly in the tx stats as the array
indexing starts from zero.

Fix the incorrect updation of NSS data in tx_stats by taking into
consideration the array index starting from zero.

Tested HW: WCN3990
Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1

Fixes: a904417fc876 ("ath10k: add extended per sta tx statistics support")
Signed-off-by: Surabhi Vishnoi <[email protected]>
---
 drivers/net/wireless/ath/ath10k/htt_rx.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c 
b/drivers/net/wireless/ath/ath10k/htt_rx.c
index d5c666c..3a02a76 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -2980,7 +2980,7 @@ static inline s8 ath10k_get_legacy_rate_idx(struct ath10k 
*ar, u8 rate)
                }
                STATS_OP_FMT(AMPDU).bw[0][bw] +=
                        pstats->succ_bytes + pstats->retry_bytes;
-               STATS_OP_FMT(AMPDU).nss[0][nss] +=
+               STATS_OP_FMT(AMPDU).nss[0][nss - 1] +=
                        pstats->succ_bytes + pstats->retry_bytes;
                STATS_OP_FMT(AMPDU).gi[0][gi] +=
                        pstats->succ_bytes + pstats->retry_bytes;
@@ -2988,7 +2988,7 @@ static inline s8 ath10k_get_legacy_rate_idx(struct ath10k 
*ar, u8 rate)
                        pstats->succ_bytes + pstats->retry_bytes;
                STATS_OP_FMT(AMPDU).bw[1][bw] +=
                        pstats->succ_pkts + pstats->retry_pkts;
-               STATS_OP_FMT(AMPDU).nss[1][nss] +=
+               STATS_OP_FMT(AMPDU).nss[1][nss - 1] +=
                        pstats->succ_pkts + pstats->retry_pkts;
                STATS_OP_FMT(AMPDU).gi[1][gi] +=
                        pstats->succ_pkts + pstats->retry_pkts;
@@ -3000,27 +3000,27 @@ static inline s8 ath10k_get_legacy_rate_idx(struct 
ath10k *ar, u8 rate)
        }
 
        STATS_OP_FMT(SUCC).bw[0][bw] += pstats->succ_bytes;
-       STATS_OP_FMT(SUCC).nss[0][nss] += pstats->succ_bytes;
+       STATS_OP_FMT(SUCC).nss[0][nss - 1] += pstats->succ_bytes;
        STATS_OP_FMT(SUCC).gi[0][gi] += pstats->succ_bytes;
 
        STATS_OP_FMT(SUCC).bw[1][bw] += pstats->succ_pkts;
-       STATS_OP_FMT(SUCC).nss[1][nss] += pstats->succ_pkts;
+       STATS_OP_FMT(SUCC).nss[1][nss - 1] += pstats->succ_pkts;
        STATS_OP_FMT(SUCC).gi[1][gi] += pstats->succ_pkts;
 
        STATS_OP_FMT(FAIL).bw[0][bw] += pstats->failed_bytes;
-       STATS_OP_FMT(FAIL).nss[0][nss] += pstats->failed_bytes;
+       STATS_OP_FMT(FAIL).nss[0][nss - 1] += pstats->failed_bytes;
        STATS_OP_FMT(FAIL).gi[0][gi] += pstats->failed_bytes;
 
        STATS_OP_FMT(FAIL).bw[1][bw] += pstats->failed_pkts;
-       STATS_OP_FMT(FAIL).nss[1][nss] += pstats->failed_pkts;
+       STATS_OP_FMT(FAIL).nss[1][nss - 1] += pstats->failed_pkts;
        STATS_OP_FMT(FAIL).gi[1][gi] += pstats->failed_pkts;
 
        STATS_OP_FMT(RETRY).bw[0][bw] += pstats->retry_bytes;
-       STATS_OP_FMT(RETRY).nss[0][nss] += pstats->retry_bytes;
+       STATS_OP_FMT(RETRY).nss[0][nss - 1] += pstats->retry_bytes;
        STATS_OP_FMT(RETRY).gi[0][gi] += pstats->retry_bytes;
 
        STATS_OP_FMT(RETRY).bw[1][bw] += pstats->retry_pkts;
-       STATS_OP_FMT(RETRY).nss[1][nss] += pstats->retry_pkts;
+       STATS_OP_FMT(RETRY).nss[1][nss - 1] += pstats->retry_pkts;
        STATS_OP_FMT(RETRY).gi[1][gi] += pstats->retry_pkts;
 
        if (txrate->flags >= RATE_INFO_FLAGS_MCS) {
-- 
1.9.1


_______________________________________________
ath10k mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/ath10k

Reply via email to