merge mac80211, iw, hostapd from trunk to backfire
[openwrt-10.03/.git] / package / mac80211 / patches / 560-ath9k_aggr_sampling_fix.patch
1 --- a/drivers/net/wireless/ath/ath9k/xmit.c
2 +++ b/drivers/net/wireless/ath/ath9k/xmit.c
3 @@ -673,6 +673,7 @@ static enum ATH_AGGR_STATUS ath_tx_form_
4         u16 aggr_limit = 0, al = 0, bpad = 0,
5                 al_delta, h_baw = tid->baw_size / 2;
6         enum ATH_AGGR_STATUS status = ATH_AGGR_DONE;
7 +       struct ieee80211_tx_info *tx_info;
8  
9         bf_first = list_first_entry(&tid->buf_q, struct ath_buf, list);
10  
11 @@ -699,6 +700,11 @@ static enum ATH_AGGR_STATUS ath_tx_form_
12                         break;
13                 }
14  
15 +               tx_info = IEEE80211_SKB_CB(bf->bf_mpdu);
16 +               if (nframes && ((tx_info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE) ||
17 +                       !(tx_info->control.rates[0].flags & IEEE80211_TX_RC_MCS)))
18 +                       break;
19 +
20                 /* do not exceed subframe limit */
21                 if (nframes >= min((int)h_baw, ATH_AMPDU_SUBFRAME_DEFAULT)) {
22                         status = ATH_AGGR_LIMITED;