Lines Matching defs:agg
400 tid_info = rcu_dereference(sta_info->agg[tid]);
1131 struct sk_buff_head agg;
1147 __skb_queue_head_init(&agg);
1203 __skb_queue_tail(&agg, skb);
1205 if (skb_queue_len(&agg) >= CARL9170_NUM_TX_AGG_MAX)
1223 if (skb_queue_empty(&agg))
1227 carl9170_set_ampdu_params(ar, skb_peek(&agg));
1230 carl9170_set_immba(ar, skb_peek_tail(&agg));
1233 skb_queue_splice_tail_init(&agg, &ar->tx_pending[queue]);
1401 struct carl9170_sta_tid *agg;
1411 agg = rcu_dereference(sta_info->agg[tid]);
1413 if (!agg)
1416 spin_lock_bh(&agg->lock);
1417 if (unlikely(agg->state < CARL9170_TID_STATE_IDLE))
1421 if (unlikely(!BAW_WITHIN(agg->bsn, CARL9170_BAW_BITS, seq)))
1424 if (WARN_ON_ONCE(!BAW_WITHIN(agg->snx, CARL9170_BAW_BITS, seq)))
1427 off = SEQ_DIFF(seq, agg->bsn);
1428 if (WARN_ON_ONCE(test_and_set_bit(off, agg->bitmap)))
1431 if (likely(BAW_WITHIN(agg->hsn, CARL9170_BAW_BITS, seq))) {
1432 __skb_queue_tail(&agg->queue, skb);
1433 agg->hsn = seq;
1437 skb_queue_reverse_walk(&agg->queue, iter) {
1441 __skb_queue_after(&agg->queue, iter, skb);
1446 __skb_queue_head(&agg->queue, skb);
1449 if (unlikely(agg->state != CARL9170_TID_STATE_XMIT)) {
1450 if (agg->snx == carl9170_get_seq(skb_peek(&agg->queue))) {
1451 agg->state = CARL9170_TID_STATE_XMIT;
1456 spin_unlock_bh(&agg->lock);
1462 spin_unlock_bh(&agg->lock);