2008-08-11 11:03:36

by Jouni Malinen

[permalink] [raw]
Subject: [PATCH 3/5] ath9k: Fix TX status reporting


Signed-off-by: Jouni Malinen <[email protected]>


Index: wireless-testing/drivers/net/wireless/ath9k/main.c
===================================================================
--- wireless-testing.orig/drivers/net/wireless/ath9k/main.c
+++ wireless-testing/drivers/net/wireless/ath9k/main.c
@@ -1085,8 +1085,16 @@ void ath_tx_complete(struct ath_softc *s
tx_info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;
tx_status->flags &= ~ATH_TX_BAR;
}
- if (tx_status->flags)
- tx_info->status.excessive_retries = 1;
+
+ if (tx_status->flags & (ATH_TX_ERROR | ATH_TX_XRETRY)) {
+ if (!(tx_info->flags & IEEE80211_TX_CTL_NO_ACK)) {
+ /* Frame was not ACKed, but an ACK was expected */
+ tx_info->status.excessive_retries = 1;
+ }
+ } else {
+ /* Frame was ACKed */
+ tx_info->flags |= IEEE80211_TX_STAT_ACK;
+ }

tx_info->status.retry_count = tx_status->retries;


--

--
Jouni Malinen PGP id EFC895FA