When the tid aggregation state has been marked as inactive, free
completed tx packets immediately. When a new aggregation session has not
been initialized yet, the BAW checks do not recognize it as expired.
Might fix potential stalls in setting up a new aggregation session.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
                tx_info = IEEE80211_SKB_CB(skb);
                fi = get_frame_info(skb);
 
-               if (!BAW_WITHIN(tid->seq_start, tid->baw_size, seqno)) {
+               if (!BAW_WITHIN(tid->seq_start, tid->baw_size, seqno) ||
+                   !tid->active) {
                        /*
                         * Outside of the current BlockAck window,
                         * maybe part of a previous session