Lines Matching defs:rxtid
991 struct rxtid *rxtid, struct sk_buff *skb)
1028 skb_queue_tail(&rxtid->q, new_skb);
1050 struct rxtid *rxtid;
1055 rxtid = &agg_conn->rx_tid[tid];
1058 spin_lock_bh(&rxtid->lock);
1059 idx = AGGR_WIN_IDX(rxtid->seq_next, rxtid->hold_q_sz);
1074 seq_end = seq_no ? seq_no : rxtid->seq_next;
1075 idx_end = AGGR_WIN_IDX(seq_end, rxtid->hold_q_sz);
1078 node = &rxtid->hold_q[idx];
1084 aggr_slice_amsdu(agg_conn->aggr_info, rxtid,
1087 skb_queue_tail(&rxtid->q, node->skb);
1093 rxtid->seq_next = ATH6KL_NEXT_SEQ_NO(rxtid->seq_next);
1094 idx = AGGR_WIN_IDX(rxtid->seq_next, rxtid->hold_q_sz);
1097 spin_unlock_bh(&rxtid->lock);
1099 stats->num_delivered += skb_queue_len(&rxtid->q);
1101 while ((skb = skb_dequeue(&rxtid->q)))
1109 struct rxtid *rxtid;
1117 rxtid = &agg_conn->rx_tid[tid];
1122 if (!rxtid->aggr) {
1124 aggr_slice_amsdu(agg_conn->aggr_info, rxtid, frame);
1127 while ((skb = skb_dequeue(&rxtid->q)))
1135 st = rxtid->seq_next;
1137 end = (st + rxtid->hold_q_sz-1) & ATH6KL_MAX_SEQ_NO;
1141 extended_end = (end + rxtid->hold_q_sz - 1) &
1149 spin_lock_bh(&rxtid->lock);
1150 if (cur >= rxtid->hold_q_sz - 1)
1151 rxtid->seq_next = cur - (rxtid->hold_q_sz - 1);
1153 rxtid->seq_next = ATH6KL_MAX_SEQ_NO -
1154 (rxtid->hold_q_sz - 2 - cur);
1155 spin_unlock_bh(&rxtid->lock);
1161 if (cur >= rxtid->hold_q_sz - 1)
1162 st = cur - (rxtid->hold_q_sz - 1);
1165 (rxtid->hold_q_sz - 2 - cur);
1173 idx = AGGR_WIN_IDX(seq_no, rxtid->hold_q_sz);
1175 node = &rxtid->hold_q[idx];
1177 spin_lock_bh(&rxtid->lock);
1204 spin_unlock_bh(&rxtid->lock);
1211 spin_lock_bh(&rxtid->lock);
1212 for (idx = 0; idx < rxtid->hold_q_sz; idx++) {
1213 if (rxtid->hold_q[idx].skb) {
1223 rxtid->timer_mon = true;
1227 spin_unlock_bh(&rxtid->lock);
1627 struct rxtid *rxtid;
1631 rxtid = &aggr_conn->rx_tid[i];
1634 if (!rxtid->aggr || !rxtid->timer_mon)
1640 rxtid->seq_next,
1641 ((rxtid->seq_next + rxtid->hold_q_sz-1) &
1649 rxtid = &aggr_conn->rx_tid[i];
1651 if (rxtid->aggr && rxtid->hold_q) {
1652 spin_lock_bh(&rxtid->lock);
1653 for (j = 0; j < rxtid->hold_q_sz; j++) {
1654 if (rxtid->hold_q[j].skb) {
1656 rxtid->timer_mon = true;
1660 spin_unlock_bh(&rxtid->lock);
1662 if (j >= rxtid->hold_q_sz)
1663 rxtid->timer_mon = false;
1674 struct rxtid *rxtid;
1680 rxtid = &aggr_conn->rx_tid[tid];
1683 if (rxtid->aggr)
1686 rxtid->aggr = false;
1687 rxtid->timer_mon = false;
1688 rxtid->win_sz = 0;
1689 rxtid->seq_next = 0;
1690 rxtid->hold_q_sz = 0;
1692 kfree(rxtid->hold_q);
1693 rxtid->hold_q = NULL;
1703 struct rxtid *rxtid;
1723 rxtid = &aggr_conn->rx_tid[tid];
1729 if (rxtid->aggr)
1732 rxtid->seq_next = seq_no;
1734 rxtid->hold_q = kzalloc(hold_q_size, GFP_KERNEL);
1735 if (!rxtid->hold_q)
1738 rxtid->win_sz = win_sz;
1739 rxtid->hold_q_sz = TID_WINDOW_SZ(win_sz);
1740 if (!skb_queue_empty(&rxtid->q))
1743 rxtid->aggr = true;
1749 struct rxtid *rxtid;
1760 rxtid = &aggr_conn->rx_tid[i];
1761 rxtid->aggr = false;
1762 rxtid->timer_mon = false;
1763 skb_queue_head_init(&rxtid->q);
1764 spin_lock_init(&rxtid->lock);
1796 struct rxtid *rxtid;
1816 rxtid = &aggr_conn->rx_tid[tid];
1818 if (rxtid->aggr)