diff options
author | Artem Bityutskiy | 2009-09-21 11:09:22 +0200 |
---|---|---|
committer | Artem Bityutskiy | 2009-09-21 11:09:22 +0200 |
commit | 7cce2f4cb7f5f641f78c8e3eea4e7b1b96cb71c0 (patch) | |
tree | b064d077928cf224660ab1e1841cdab2c9fd8b08 /net/mac80211/agg-tx.c | |
parent | UBIFS: fix debugging dump (diff) | |
parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6 (diff) | |
download | kernel-qcow2-linux-7cce2f4cb7f5f641f78c8e3eea4e7b1b96cb71c0.tar.gz kernel-qcow2-linux-7cce2f4cb7f5f641f78c8e3eea4e7b1b96cb71c0.tar.xz kernel-qcow2-linux-7cce2f4cb7f5f641f78c8e3eea4e7b1b96cb71c0.zip |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into linux-next
Conflicts:
fs/ubifs/super.c
Merge the upstream tree in order to resolve a conflict with the
per-bdi writeback changes from the linux-2.6-block tree.
Diffstat (limited to 'net/mac80211/agg-tx.c')
-rw-r--r-- | net/mac80211/agg-tx.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index 9e5762ad307d..bd765f30dba2 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c @@ -381,11 +381,16 @@ static void ieee80211_agg_splice_packets(struct ieee80211_local *local, &local->hw, queue, IEEE80211_QUEUE_STOP_REASON_AGGREGATION); + if (!(sta->ampdu_mlme.tid_state_tx[tid] & HT_ADDBA_REQUESTED_MSK)) + return; + + if (WARN(!sta->ampdu_mlme.tid_tx[tid], + "TID %d gone but expected when splicing aggregates from" + "the pending queue\n", tid)) + return; + if (!skb_queue_empty(&sta->ampdu_mlme.tid_tx[tid]->pending)) { spin_lock_irqsave(&local->queue_stop_reason_lock, flags); - /* mark queue as pending, it is stopped already */ - __set_bit(IEEE80211_QUEUE_STOP_REASON_PENDING, - &local->queue_stop_reasons[queue]); /* copy over remaining packets */ skb_queue_splice_tail_init( &sta->ampdu_mlme.tid_tx[tid]->pending, |