Skip to content

Commit 3fc85e7

Browse files
Venkateswara Naralasettygregkh
authored andcommitted
ath10k: fix retry packets update in station dump
[ Upstream commit 67b927f ] 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 <vnaralas@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/1591856446-26977-1-git-send-email-vnaralas@codeaurora.org Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 2178d10 commit 3fc85e7

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

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

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

35853585
if (ar->htt.disable_tx_comp) {
3586-
arsta->tx_retries += peer_stats->retry_pkts;
35873586
arsta->tx_failed += peer_stats->failed_pkts;
3588-
ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx retries %d tx failed %d\n",
3589-
arsta->tx_retries, arsta->tx_failed);
3587+
ath10k_dbg(ar, ATH10K_DBG_HTT, "tx failed %d\n",
3588+
arsta->tx_failed);
35903589
}
35913590

3591+
arsta->tx_retries += peer_stats->retry_pkts;
3592+
ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx retries %d", arsta->tx_retries);
3593+
35923594
if (ath10k_debug_is_extd_tx_stats_enabled(ar))
35933595
ath10k_accumulate_per_peer_tx_stats(ar, arsta, peer_stats,
35943596
rate_idx);

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

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

85448544
if (ar->htt.disable_tx_comp) {
8545-
sinfo->tx_retries = arsta->tx_retries;
8546-
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_RETRIES);
85478545
sinfo->tx_failed = arsta->tx_failed;
85488546
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_FAILED);
85498547
}
85508548

8549+
sinfo->tx_retries = arsta->tx_retries;
8550+
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_RETRIES);
8551+
85518552
ath10k_mac_sta_get_peer_stats_info(ar, sta, sinfo);
85528553
}
85538554

0 commit comments

Comments
 (0)