ath9k: Revert fix to TX status reporting for retries and MCS index

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Thursday, January 15, 2009 - 7:03 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=157ec8...
Commit:     157ec8768457e8177d281ae099fb1c321c9a16d7
Parent:     d57854bb1d78ba89ffbfdfd1c3e95b52ed7478ff
Author:     Jouni Malinen <jouni.malinen@atheros.com>
AuthorDate: Mon Dec 22 16:45:54 2008 +0200
Committer:  John W. Linville <linville@tuxdriver.com>
CommitDate: Mon Jan 12 14:24:55 2009 -0500

    ath9k: Revert fix to TX status reporting for retries and MCS index
    
    This patch reverts "ath9k: Fix TX status reporting for retries and MCS index"
    because that change ended up breaking ath9k rate control. While the
    MCS index reporting to mac80211 was indeed fixed by the patch, it did
    not take into account that the ath9k rate control algorithm was
    updating private tables based on this index and the index comes
    through the rate control API call, i.e., based on mac80211 TX status
    call. In addition, it looks like the "fix" to remove +1 from TX status
    'count' field was not correct based on ieee80211_tx_status()
    implementation that counts the total of count values, but starting
    from -1, not 0.
    
    The TX status reporting for frames using MCS needs to be fixed
    somehow, but it does not look like there is any easy fix for the ath9k
    rate control algorithm, so the best option now seems to be to revert the
    change and bring it back once the rate control code is cleaned up to
    handle this better.
    
    Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
 drivers/net/wireless/ath9k/xmit.c |   10 +---------
 1 files changed, 1 insertions(+), 9 deletions(-)

diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/ath9k/xmit.c
index 1ea9428..c92f0c6 100644
--- a/drivers/net/wireless/ath9k/xmit.c
+++ b/drivers/net/wireless/ath9k/xmit.c
@@ -126,15 +126,7 @@ static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb,
 		tx_info->flags |= IEEE80211_TX_STAT_ACK;
 	}
 
-	tx_info->status.rates[0].count = tx_status->retries;
-	if (tx_info->status.rates[0].flags & IEEE80211_TX_RC_MCS) {
-		/* Change idx from internal table index to MCS index */
-		int idx = tx_info->status.rates[0].idx;
-		struct ath_rate_table *rate_table = sc->cur_rate_table;
-		if (idx >= 0 && idx < rate_table->rate_cnt)
-			tx_info->status.rates[0].idx =
-				rate_table->info[idx].ratecode & 0x7f;
-	}
+	tx_info->status.rates[0].count = tx_status->retries + 1;
 
 	hdrlen = ieee80211_get_hdrlen_from_skb(skb);
 	padsize = hdrlen & 3;
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
ath9k: Revert fix to TX status reporting for retries and M ..., Linux Kernel Mailing ..., (Thu Jan 15, 7:03 pm)