666b0022590ebebe34bfd0b0419bf9bd6aae6d70
[openwrt/openwrt.git] / package / mac80211 / patches / 560-ath9k_ps_tx_aggr_fix.patch
1 --- a/drivers/net/wireless/ath/ath9k/xmit.c
2 +++ b/drivers/net/wireless/ath/ath9k/xmit.c
3 @@ -550,7 +550,8 @@ static void ath_tx_complete_aggr(struct
4 if (clear_filter)
5 tid->ac->clear_ps_filter = true;
6 list_splice(&bf_pending, &tid->buf_q);
7 - ath_tx_queue_tid(txq, tid);
8 + if (!an->sleeping)
9 + ath_tx_queue_tid(txq, tid);
10 spin_unlock_bh(&txq->axq_lock);
11 }
12
13 @@ -1410,7 +1411,8 @@ static void ath_tx_send_ampdu(struct ath
14 */
15 TX_STAT_INC(txctl->txq->axq_qnum, a_queued_sw);
16 list_add_tail(&bf->list, &tid->buf_q);
17 - ath_tx_queue_tid(txctl->txq, tid);
18 + if (!txctl->an || !txctl->an->sleeping)
19 + ath_tx_queue_tid(txctl->txq, tid);
20 return;
21 }
22