ath9k: fix an aggregation hang issue that happens when a hardware reset is issued
[openwrt.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;
This page took 0.051678 seconds and 5 git commands to generate.