Lines Matching defs:iovb

142 static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb);
203 struct sk_buff *iovb;
235 while ((iovb = skb_dequeue(&card->iovpool.queue)) != NULL) {
236 dev_kfree_skb_any(iovb);
742 struct sk_buff *iovb;
743 iovb = alloc_skb(NS_IOVBUFSIZE, GFP_KERNEL);
744 if (iovb == NULL) {
752 NS_PRV_BUFTYPE(iovb) = BUF_NONE;
753 skb_queue_tail(&card->iovpool.queue, iovb);
821 struct sk_buff *iovb;
822 while ((iovb = skb_dequeue(&card->iovpool.queue)) != NULL)
823 dev_kfree_skb_any(iovb);
1437 struct sk_buff *iovb;
1447 iovb = vc->rx_iov;
1448 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data,
1449 NS_PRV_IOVCNT(iovb));
1450 NS_PRV_IOVCNT(iovb) = 0;
1452 recycle_iov_buf(card, iovb);
1978 struct sk_buff *iovb;
2071 if ((iovb = vc->rx_iov) == NULL) {
2072 iovb = skb_dequeue(&(card->iovpool.queue));
2073 if (iovb == NULL) { /* No buffers in the queue */
2074 iovb = alloc_skb(NS_IOVBUFSIZE, GFP_ATOMIC);
2075 if (iovb == NULL) {
2082 NS_PRV_BUFTYPE(iovb) = BUF_NONE;
2087 NS_PRV_BUFTYPE(iovb) = BUF_NONE;
2092 vc->rx_iov = iovb;
2093 NS_PRV_IOVCNT(iovb) = 0;
2094 iovb->len = 0;
2095 iovb->data = iovb->head;
2096 skb_reset_tail_pointer(iovb);
2100 } else if (NS_PRV_IOVCNT(iovb) >= NS_MAX_IOVECS) {
2103 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data,
2105 NS_PRV_IOVCNT(iovb) = 0;
2106 iovb->len = 0;
2107 iovb->data = iovb->head;
2108 skb_reset_tail_pointer(iovb);
2110 iov = &((struct iovec *)iovb->data)[NS_PRV_IOVCNT(iovb)++];
2113 iovb->len += iov->iov_len;
2116 if (NS_PRV_IOVCNT(iovb) == 1) {
2125 recycle_iov_buf(card, iovb);
2128 } else { /* NS_PRV_IOVCNT(iovb) >= 2 */
2136 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data,
2137 NS_PRV_IOVCNT(iovb));
2139 recycle_iov_buf(card, iovb);
2152 len + 8 > iovb->len || len + (47 + 8) < iovb->len) {
2154 if (len + 8 > iovb->len || len + (47 + 8) < iovb->len)
2159 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data,
2160 NS_PRV_IOVCNT(iovb));
2162 recycle_iov_buf(card, iovb);
2168 if (NS_PRV_IOVCNT(iovb) == 1) { /* Just a small buffer */
2181 } else if (NS_PRV_IOVCNT(iovb) == 2) { /* One small plus one large buffer */
2240 iovb->data,
2241 NS_PRV_IOVCNT(iovb));
2243 recycle_iov_buf(card, iovb);
2278 iov = (struct iovec *)iovb->data;
2282 NS_PRV_IOVCNT(iovb));
2301 for (j = 1; j < NS_PRV_IOVCNT(iovb); j++) {
2327 recycle_iov_buf(card, iovb);
2348 static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb)
2351 skb_queue_tail(&card->iovpool.queue, iovb);
2354 dev_kfree_skb_any(iovb);
2641 struct sk_buff *iovb;
2644 iovb = skb_dequeue(&card->iovpool.queue);
2647 if (iovb == NULL)
2652 dev_kfree_skb_any(iovb);
2656 struct sk_buff *iovb;
2658 iovb = alloc_skb(NS_IOVBUFSIZE, GFP_KERNEL);
2659 if (iovb == NULL)
2661 NS_PRV_BUFTYPE(iovb) = BUF_NONE;
2663 skb_queue_tail(&card->iovpool.queue, iovb);