Index: chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/rc.c |
diff --git a/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/rc.c b/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/rc.c |
index 6c545935f5f00880691800455735ad2ddfc51551..5dd233803c401492ec4ab450aed925c57d13d755 100644 |
--- a/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/rc.c |
+++ b/chromeos/compat-wireless/drivers/net/wireless/ath/ath9k/rc.c |
@@ -538,7 +538,7 @@ static u8 ath_rc_setvalid_rates(struct ath_rate_priv *ath_rc_priv, |
for (i = 0; i < rateset->rs_nrates; i++) { |
for (j = 0; j < rate_table->rate_cnt; j++) { |
u32 phy = rate_table->info[j].phy; |
- u16 rate_flags = rate_table->info[j].rate_flags; |
+ u16 rate_flags = rate_table->info[i].rate_flags; |
Sam Leffler
2010/12/01 00:23:44
looks like a local patch was dropped
|
u8 rate = rateset->rs_rates[i]; |
u8 dot11rate = rate_table->info[j].dot11rate; |
@@ -1320,22 +1320,6 @@ static u8 ath_rc_build_ht_caps(struct ath_softc *sc, struct ieee80211_sta *sta, |
return caps; |
} |
-static bool ath_tx_aggr_check(struct ath_softc *sc, struct ath_node *an, |
- u8 tidno) |
-{ |
- struct ath_atx_tid *txtid; |
- |
- if (!(sc->sc_flags & SC_OP_TXAGGR)) |
- return false; |
- |
- txtid = ATH_AN_2_TID(an, tidno); |
- |
- if (!(txtid->state & (AGGR_ADDBA_COMPLETE | AGGR_ADDBA_PROGRESS))) |
- return true; |
- return false; |
-} |
- |
- |
/***********************************/ |
/* mac80211 Rate Control callbacks */ |
/***********************************/ |
@@ -1375,6 +1359,12 @@ static void ath_tx_status(void *priv, struct ieee80211_supported_band *sband, |
if (tx_info->flags & IEEE80211_TX_STAT_TX_FILTERED) |
return; |
+ if (!(tx_info->flags & IEEE80211_TX_STAT_AMPDU)) { |
+ tx_info->status.ampdu_ack_len = |
+ (tx_info->flags & IEEE80211_TX_STAT_ACK ? 1 : 0); |
+ tx_info->status.ampdu_len = 1; |
+ } |
+ |
/* |
* If an underrun error is seen assume it as an excessive retry only |
* if max frame trigger level has been reached (2 KB for singel stream, |