Lines Matching refs:rfi

1643 static void brcmf_rxreorder_get_skb_list(struct brcmf_ampdu_rx_reorder *rfi,  in brcmf_rxreorder_get_skb_list()  argument
1650 if (rfi->pend_pkts == 0) { in brcmf_rxreorder_get_skb_list()
1656 if (rfi->pktslots[start]) { in brcmf_rxreorder_get_skb_list()
1657 __skb_queue_tail(skb_list, rfi->pktslots[start]); in brcmf_rxreorder_get_skb_list()
1658 rfi->pktslots[start] = NULL; in brcmf_rxreorder_get_skb_list()
1661 if (start > rfi->max_idx) in brcmf_rxreorder_get_skb_list()
1664 rfi->pend_pkts -= skb_queue_len(skb_list); in brcmf_rxreorder_get_skb_list()
1672 struct brcmf_ampdu_rx_reorder *rfi; in brcmf_fws_rxreorder() local
1689 rfi = ifp->drvr->reorder_flows[flow_id]; in brcmf_fws_rxreorder()
1694 if (rfi == NULL) { in brcmf_fws_rxreorder()
1701 brcmf_rxreorder_get_skb_list(rfi, rfi->exp_idx, rfi->exp_idx, in brcmf_fws_rxreorder()
1705 kfree(rfi); in brcmf_fws_rxreorder()
1710 if (rfi == NULL) { in brcmf_fws_rxreorder()
1711 buf_size = sizeof(*rfi); in brcmf_fws_rxreorder()
1719 rfi = kzalloc(buf_size, GFP_ATOMIC); in brcmf_fws_rxreorder()
1720 if (rfi == NULL) { in brcmf_fws_rxreorder()
1726 ifp->drvr->reorder_flows[flow_id] = rfi; in brcmf_fws_rxreorder()
1727 rfi->pktslots = (struct sk_buff **)(rfi + 1); in brcmf_fws_rxreorder()
1728 rfi->max_idx = max_idx; in brcmf_fws_rxreorder()
1731 if (rfi->pend_pkts) { in brcmf_fws_rxreorder()
1732 brcmf_rxreorder_get_skb_list(rfi, rfi->exp_idx, in brcmf_fws_rxreorder()
1733 rfi->exp_idx, in brcmf_fws_rxreorder()
1735 WARN_ON(rfi->pend_pkts); in brcmf_fws_rxreorder()
1739 rfi->cur_idx = reorder_data[BRCMF_RXREORDER_CURIDX_OFFSET]; in brcmf_fws_rxreorder()
1740 rfi->exp_idx = reorder_data[BRCMF_RXREORDER_EXPIDX_OFFSET]; in brcmf_fws_rxreorder()
1741 rfi->max_idx = reorder_data[BRCMF_RXREORDER_MAXIDX_OFFSET]; in brcmf_fws_rxreorder()
1742 rfi->pktslots[rfi->cur_idx] = pkt; in brcmf_fws_rxreorder()
1743 rfi->pend_pkts++; in brcmf_fws_rxreorder()
1745 flow_id, rfi->cur_idx, rfi->exp_idx, rfi->pend_pkts); in brcmf_fws_rxreorder()
1750 if ((exp_idx == rfi->exp_idx) && (cur_idx != rfi->exp_idx)) { in brcmf_fws_rxreorder()
1753 if (rfi->pktslots[cur_idx] != NULL) { in brcmf_fws_rxreorder()
1755 brcmu_pkt_buf_free_skb(rfi->pktslots[cur_idx]); in brcmf_fws_rxreorder()
1756 rfi->pktslots[cur_idx] = NULL; in brcmf_fws_rxreorder()
1758 rfi->pktslots[cur_idx] = pkt; in brcmf_fws_rxreorder()
1759 rfi->pend_pkts++; in brcmf_fws_rxreorder()
1760 rfi->cur_idx = cur_idx; in brcmf_fws_rxreorder()
1762 flow_id, cur_idx, exp_idx, rfi->pend_pkts); in brcmf_fws_rxreorder()
1769 if (rfi->exp_idx == cur_idx) { in brcmf_fws_rxreorder()
1770 if (rfi->pktslots[cur_idx] != NULL) { in brcmf_fws_rxreorder()
1772 brcmu_pkt_buf_free_skb(rfi->pktslots[cur_idx]); in brcmf_fws_rxreorder()
1773 rfi->pktslots[cur_idx] = NULL; in brcmf_fws_rxreorder()
1775 rfi->pktslots[cur_idx] = pkt; in brcmf_fws_rxreorder()
1776 rfi->pend_pkts++; in brcmf_fws_rxreorder()
1782 flow_id, cur_idx, exp_idx, rfi->pend_pkts); in brcmf_fws_rxreorder()
1784 rfi->cur_idx = cur_idx; in brcmf_fws_rxreorder()
1785 rfi->exp_idx = exp_idx; in brcmf_fws_rxreorder()
1787 brcmf_rxreorder_get_skb_list(rfi, cur_idx, exp_idx, in brcmf_fws_rxreorder()
1791 rfi->pend_pkts); in brcmf_fws_rxreorder()
1796 flow_id, flags, rfi->cur_idx, rfi->exp_idx, in brcmf_fws_rxreorder()
1799 end_idx = rfi->exp_idx; in brcmf_fws_rxreorder()
1804 brcmf_rxreorder_get_skb_list(rfi, rfi->exp_idx, end_idx, in brcmf_fws_rxreorder()
1807 if (exp_idx == ((cur_idx + 1) % (rfi->max_idx + 1))) { in brcmf_fws_rxreorder()
1810 rfi->pktslots[cur_idx] = pkt; in brcmf_fws_rxreorder()
1811 rfi->pend_pkts++; in brcmf_fws_rxreorder()
1813 rfi->exp_idx = exp_idx; in brcmf_fws_rxreorder()
1814 rfi->cur_idx = cur_idx; in brcmf_fws_rxreorder()
1821 flow_id, flags, rfi->exp_idx, exp_idx); in brcmf_fws_rxreorder()
1823 end_idx = rfi->exp_idx; in brcmf_fws_rxreorder()
1827 brcmf_rxreorder_get_skb_list(rfi, rfi->exp_idx, end_idx, in brcmf_fws_rxreorder()
1831 rfi->exp_idx = exp_idx; in brcmf_fws_rxreorder()