wifi: mt76: connac: fix stats->tx_bytes calculation
authorRyder Lee <ryder.lee@mediatek.com>
Sun, 23 Apr 2023 21:39:06 +0000 (05:39 +0800)
committerKalle Valo <kvalo@kernel.org>
Fri, 12 May 2023 08:21:08 +0000 (11:21 +0300)
The stats->tx_bytes shall subtract retry byte from tx byte.

Fixes: 43eaa3689507 ("wifi: mt76: add PPDU based TxS support for WED device")
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/b3cd45596943cf5a06b2e08e2fe732ab0b51311b.1682285873.git.ryder.lee@mediatek.com
drivers/net/wireless/mediatek/mt76/mt76_connac2_mac.h
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c

index a5ec0f6313850a54c7cb5170b7d9c051b8d554ca..fabf637bdf7f99f5d6b6d59d1c1dd6d7b7a1ec90 100644 (file)
@@ -173,7 +173,7 @@ enum {
 #define MT_TXS5_MPDU_TX_CNT            GENMASK(31, 23)
 
 #define MT_TXS6_MPDU_FAIL_CNT          GENMASK(31, 23)
-
+#define MT_TXS7_MPDU_RETRY_BYTE                GENMASK(22, 0)
 #define MT_TXS7_MPDU_RETRY_CNT         GENMASK(31, 23)
 
 /* RXD DW0 */
index ee0fbfcd07d6469d94ce9a3f62c6868ef1fb753b..d39a3cc5e381f8b01e9ca2c8d0559215969ebeba 100644 (file)
@@ -608,7 +608,8 @@ bool mt76_connac2_mac_fill_txs(struct mt76_dev *dev, struct mt76_wcid *wcid,
        /* PPDU based reporting */
        if (FIELD_GET(MT_TXS0_TXS_FORMAT, txs) > 1) {
                stats->tx_bytes +=
-                       le32_get_bits(txs_data[5], MT_TXS5_MPDU_TX_BYTE);
+                       le32_get_bits(txs_data[5], MT_TXS5_MPDU_TX_BYTE) -
+                       le32_get_bits(txs_data[7], MT_TXS7_MPDU_RETRY_BYTE);
                stats->tx_packets +=
                        le32_get_bits(txs_data[5], MT_TXS5_MPDU_TX_CNT);
                stats->tx_failed +=