Lines Matching refs:iovb
141 static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb);
201 struct sk_buff *iovb; in nicstar_remove_one() local
233 while ((iovb = skb_dequeue(&card->iovpool.queue)) != NULL) { in nicstar_remove_one()
234 dev_kfree_skb_any(iovb); in nicstar_remove_one()
740 struct sk_buff *iovb; in ns_init_card() local
741 iovb = alloc_skb(NS_IOVBUFSIZE, GFP_KERNEL); in ns_init_card()
742 if (iovb == NULL) { in ns_init_card()
750 NS_PRV_BUFTYPE(iovb) = BUF_NONE; in ns_init_card()
751 skb_queue_tail(&card->iovpool.queue, iovb); in ns_init_card()
819 struct sk_buff *iovb; in ns_init_card_error() local
820 while ((iovb = skb_dequeue(&card->iovpool.queue)) != NULL) in ns_init_card_error()
821 dev_kfree_skb_any(iovb); in ns_init_card_error()
1441 struct sk_buff *iovb; in ns_close() local
1451 iovb = vc->rx_iov; in ns_close()
1452 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, in ns_close()
1453 NS_PRV_IOVCNT(iovb)); in ns_close()
1454 NS_PRV_IOVCNT(iovb) = 0; in ns_close()
1456 recycle_iov_buf(card, iovb); in ns_close()
1972 struct sk_buff *iovb; in dequeue_rx() local
2065 if ((iovb = vc->rx_iov) == NULL) { in dequeue_rx()
2066 iovb = skb_dequeue(&(card->iovpool.queue)); in dequeue_rx()
2067 if (iovb == NULL) { /* No buffers in the queue */ in dequeue_rx()
2068 iovb = alloc_skb(NS_IOVBUFSIZE, GFP_ATOMIC); in dequeue_rx()
2069 if (iovb == NULL) { in dequeue_rx()
2076 NS_PRV_BUFTYPE(iovb) = BUF_NONE; in dequeue_rx()
2081 NS_PRV_BUFTYPE(iovb) = BUF_NONE; in dequeue_rx()
2086 vc->rx_iov = iovb; in dequeue_rx()
2087 NS_PRV_IOVCNT(iovb) = 0; in dequeue_rx()
2088 iovb->len = 0; in dequeue_rx()
2089 iovb->data = iovb->head; in dequeue_rx()
2090 skb_reset_tail_pointer(iovb); in dequeue_rx()
2094 } else if (NS_PRV_IOVCNT(iovb) >= NS_MAX_IOVECS) { in dequeue_rx()
2097 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, in dequeue_rx()
2099 NS_PRV_IOVCNT(iovb) = 0; in dequeue_rx()
2100 iovb->len = 0; in dequeue_rx()
2101 iovb->data = iovb->head; in dequeue_rx()
2102 skb_reset_tail_pointer(iovb); in dequeue_rx()
2104 iov = &((struct iovec *)iovb->data)[NS_PRV_IOVCNT(iovb)++]; in dequeue_rx()
2107 iovb->len += iov->iov_len; in dequeue_rx()
2110 if (NS_PRV_IOVCNT(iovb) == 1) { in dequeue_rx()
2119 recycle_iov_buf(card, iovb); in dequeue_rx()
2130 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, in dequeue_rx()
2131 NS_PRV_IOVCNT(iovb)); in dequeue_rx()
2133 recycle_iov_buf(card, iovb); in dequeue_rx()
2146 len + 8 > iovb->len || len + (47 + 8) < iovb->len) { in dequeue_rx()
2148 if (len + 8 > iovb->len || len + (47 + 8) < iovb->len) in dequeue_rx()
2153 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, in dequeue_rx()
2154 NS_PRV_IOVCNT(iovb)); in dequeue_rx()
2156 recycle_iov_buf(card, iovb); in dequeue_rx()
2162 if (NS_PRV_IOVCNT(iovb) == 1) { /* Just a small buffer */ in dequeue_rx()
2175 } else if (NS_PRV_IOVCNT(iovb) == 2) { /* One small plus one large buffer */ in dequeue_rx()
2234 iovb->data, in dequeue_rx()
2235 NS_PRV_IOVCNT(iovb)); in dequeue_rx()
2237 recycle_iov_buf(card, iovb); in dequeue_rx()
2272 iov = (struct iovec *)iovb->data; in dequeue_rx()
2276 NS_PRV_IOVCNT(iovb)); in dequeue_rx()
2295 for (j = 1; j < NS_PRV_IOVCNT(iovb); j++) { in dequeue_rx()
2321 recycle_iov_buf(card, iovb); in dequeue_rx()
2342 static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb) in recycle_iov_buf() argument
2345 skb_queue_tail(&card->iovpool.queue, iovb); in recycle_iov_buf()
2348 dev_kfree_skb_any(iovb); in recycle_iov_buf()
2635 struct sk_buff *iovb; in ns_ioctl() local
2638 iovb = skb_dequeue(&card->iovpool.queue); in ns_ioctl()
2641 if (iovb == NULL) in ns_ioctl()
2646 dev_kfree_skb_any(iovb); in ns_ioctl()
2650 struct sk_buff *iovb; in ns_ioctl() local
2652 iovb = alloc_skb(NS_IOVBUFSIZE, GFP_KERNEL); in ns_ioctl()
2653 if (iovb == NULL) in ns_ioctl()
2655 NS_PRV_BUFTYPE(iovb) = BUF_NONE; in ns_ioctl()
2657 skb_queue_tail(&card->iovpool.queue, iovb); in ns_ioctl()