mac80211: backport latest changes from trunk
[openwrt-10.03/.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