ath10k: Fix the wrong updation of SGI in tx_stats debugfs
authorSurabhi Vishnoi <svishnoi@codeaurora.org>
Tue, 26 Feb 2019 09:27:57 +0000 (14:57 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 28 Feb 2019 08:46:16 +0000 (10:46 +0200)
The SGI is updated wrongly in tx stats table in debugfs per sta
entry. To know whether the packets/bytes are sent with SHORT GI,
test whether the SGI bit(ATH10K_RATE_INFO_FLAGS_SGI_BIT) is set or
not in the txrate flags.

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 <svishnoi@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/htt_rx.c
drivers/net/wireless/ath/ath10k/wmi.h

index 9415ff6d0e4304dfd4e4f355a9f2ad996c840d4b..1a9892703570933b8928df82c5140f0dd6f6630a 100644 (file)
@@ -2921,12 +2921,14 @@ ath10k_accumulate_per_peer_tx_stats(struct ath10k *ar,
        struct rate_info *txrate = &arsta->txrate;
        struct ath10k_htt_tx_stats *tx_stats;
        int idx, ht_idx, gi, mcs, bw, nss;
+       unsigned long flags;
 
        if (!arsta->tx_stats)
                return;
 
        tx_stats = arsta->tx_stats;
-       gi = (arsta->txrate.flags & RATE_INFO_FLAGS_SHORT_GI);
+       flags = txrate->flags;
+       gi = test_bit(ATH10K_RATE_INFO_FLAGS_SGI_BIT, &flags);
        ht_idx = txrate->mcs + txrate->nss * 8;
        mcs = txrate->mcs;
        bw = txrate->bw;
index 56da8292605b60894cfacade26aa07aa07d981c6..f6d3e76723d7bb3305c3d6b18ec0d553e2ace692 100644 (file)
@@ -5051,6 +5051,7 @@ enum wmi_rate_preamble {
 #define ATH10K_GI_NUM          2
 #define ATH10K_HT_MCS_NUM      32
 #define ATH10K_RATE_TABLE_NUM  320
+#define ATH10K_RATE_INFO_FLAGS_SGI_BIT 2
 
 /* Value to disable fixed rate setting */
 #define WMI_FIXED_RATE_NONE    (0xff)