From: David S. Miller Date: Fri, 14 Aug 2009 23:07:21 +0000 (-0700) Subject: Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=cf9911166113e471e1796eaf273982d8e43b138d;p=openwrt%2Fstaging%2Fblogic.git Merge branch 'master' of /linux/kernel/git/davem/net-2.6 --- cf9911166113e471e1796eaf273982d8e43b138d diff --cc net/mac80211/agg-tx.c index 1958c7c42cd9,a24e59816b93..bd765f30dba2 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c @@@ -381,8 -381,19 +381,16 @@@ static void ieee80211_agg_splice_packet &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,