Skip to content

Commit 67b927f

Browse files
Venkateswara NaralasettyKalle Valo
authored andcommitted
ath10k: fix retry packets update in station dump
When tx status enabled, retry count is updated from tx completion status. which is not working as expected due to firmware limitation where firmware can not provide per MSDU rate statistics from tx completion status. Due to this tx retry count is always 0 in station dump. Fix this issue by updating the retry packet count from per peer statistics. This patch will not break on SDIO devices since, this retry count is already updating from peer statistics for SDIO devices. Tested-on: QCA9984 PCI 10.4-3.6-00104 Tested-on: QCA9882 PCI 10.2.4-1.0-00047 Signed-off-by: Venkateswara Naralasetty <[email protected]> Signed-off-by: Kalle Valo <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 8f9ed93 commit 67b927f

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

drivers/net/wireless/ath/ath10k/htt_rx.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3575,12 +3575,14 @@ ath10k_update_per_peer_tx_stats(struct ath10k *ar,
35753575
}
35763576

35773577
if (ar->htt.disable_tx_comp) {
3578-
arsta->tx_retries += peer_stats->retry_pkts;
35793578
arsta->tx_failed += peer_stats->failed_pkts;
3580-
ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx retries %d tx failed %d\n",
3581-
arsta->tx_retries, arsta->tx_failed);
3579+
ath10k_dbg(ar, ATH10K_DBG_HTT, "tx failed %d\n",
3580+
arsta->tx_failed);
35823581
}
35833582

3583+
arsta->tx_retries += peer_stats->retry_pkts;
3584+
ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx retries %d", arsta->tx_retries);
3585+
35843586
if (ath10k_debug_is_extd_tx_stats_enabled(ar))
35853587
ath10k_accumulate_per_peer_tx_stats(ar, arsta, peer_stats,
35863588
rate_idx);

drivers/net/wireless/ath/ath10k/mac.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8547,12 +8547,13 @@ static void ath10k_sta_statistics(struct ieee80211_hw *hw,
85478547
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_BITRATE);
85488548

85498549
if (ar->htt.disable_tx_comp) {
8550-
sinfo->tx_retries = arsta->tx_retries;
8551-
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_RETRIES);
85528550
sinfo->tx_failed = arsta->tx_failed;
85538551
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_FAILED);
85548552
}
85558553

8554+
sinfo->tx_retries = arsta->tx_retries;
8555+
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_RETRIES);
8556+
85568557
ath10k_mac_sta_get_peer_stats_info(ar, sta, sinfo);
85578558
}
85588559

0 commit comments

Comments
 (0)