Lines Matching refs:rxtid

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