mac80211: update to wireless-testing 2011-10-05 + pending patches
[openwrt/staging/dedeckeh.git] / package / mac80211 / patches / 541-ath9k_sw_retry_reduce.patch
index 1685aabfaae47ff5a4fcbd5a7e23f39d74d4cff0..06a17a2fb451704b0a9737ab8abcf175ce13494d 100644 (file)
@@ -23,7 +23,7 @@
 @@ -382,6 +385,7 @@ static void ath_tx_complete_aggr(struct 
        int nframes;
        u8 tidno;
-       bool clear_filter;
+       bool flush = !!(ts->ts_status & ATH9K_TX_FLUSH);
 +      int i, retries;
  
        skb = bf->bf_mpdu;
        rcu_read_lock();
  
        sta = ieee80211_find_sta_by_ifaddr(hw, hdr->addr1, hdr->addr2);
-@@ -475,7 +483,8 @@ static void ath_tx_complete_aggr(struct 
+@@ -476,7 +484,8 @@ static void ath_tx_complete_aggr(struct 
+                               txpending = 1;
                        } else if (fi->retries < ATH_MAX_SW_RETRIES) {
-                               if (!(ts->ts_status & ATH9K_TXERR_FILT) ||
-                                   !an->sleeping)
+                               if (txok || !an->sleeping)
 -                                      ath_tx_set_retry(sc, txq, bf->bf_mpdu);
 +                                      ath_tx_set_retry(sc, txq, bf->bf_mpdu,
 +                                                       retries);
  
-                               clear_filter = true;
                                txpending = 1;
+                       } else {
 --- a/drivers/net/wireless/ath/ath9k/ath9k.h
 +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
-@@ -540,7 +540,7 @@ struct ath_ant_comb {
+@@ -542,7 +542,7 @@ struct ath_ant_comb {
  #define DEFAULT_CACHELINE       32
  #define ATH_REGCLASSIDS_MAX     10
  #define ATH_CABQ_READY_TIME     80      /* % of beacon interval */