ath10k: Fix the wrong updation of BW in tx_stats debugfs entry
authorSurabhi Vishnoi <svishnoi@codeaurora.org>
Tue, 26 Feb 2019 09:27:56 +0000 (14:57 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 28 Feb 2019 08:46:06 +0000 (10:46 +0200)
Currently, the bandwidth is updated wrongly in BW table in tx_stats
debugfs per sta as there is difference in number of bandwidth type
in mac80211 and driver stats table. This leads to bandwidth getting
updated at wrong index in bandwidth table in tx_stats.

Fix this index mismatch between mac80211 and driver stats table (BW table)
by making the number of bandwidth type in driver compatible with mac80211.

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/debugfs_sta.c
drivers/net/wireless/ath/ath10k/wmi.h

index 8331d8b099872abc8d1aec506203ce08c8e6039f..c704ae371c4d3f9ccedf36445350959b73594eb6 100644 (file)
@@ -685,11 +685,12 @@ static ssize_t ath10k_dbg_sta_dump_tx_stats(struct file *file,
                                                 "  %llu ", stats->ht[j][i]);
                        len += scnprintf(buf + len, size - len, "\n");
                        len += scnprintf(buf + len, size - len,
-                                       " BW %s (20,40,80,160 MHz)\n", str[j]);
+                                       " BW %s (20,5,10,40,80,160 MHz)\n", str[j]);
                        len += scnprintf(buf + len, size - len,
-                                        "  %llu %llu %llu %llu\n",
+                                        "  %llu %llu %llu %llu %llu %llu\n",
                                         stats->bw[j][0], stats->bw[j][1],
-                                        stats->bw[j][2], stats->bw[j][3]);
+                                        stats->bw[j][2], stats->bw[j][3],
+                                        stats->bw[j][4], stats->bw[j][5]);
                        len += scnprintf(buf + len, size - len,
                                         " NSS %s (1x1,2x2,3x3,4x4)\n", str[j]);
                        len += scnprintf(buf + len, size - len,
index a1a558b03de774ef4e35a33eaeabb17aba2578f0..56da8292605b60894cfacade26aa07aa07d981c6 100644 (file)
@@ -5045,7 +5045,7 @@ enum wmi_rate_preamble {
 #define ATH10K_FW_SKIPPED_RATE_CTRL(flags)     (((flags) >> 6) & 0x1)
 
 #define ATH10K_VHT_MCS_NUM     10
-#define ATH10K_BW_NUM          4
+#define ATH10K_BW_NUM          6
 #define ATH10K_NSS_NUM         4
 #define ATH10K_LEGACY_NUM      12
 #define ATH10K_GI_NUM          2