Lines Matching refs:iovb
140 static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb);
200 struct sk_buff *iovb; in nicstar_remove_one() local
232 while ((iovb = skb_dequeue(&card->iovpool.queue)) != NULL) { in nicstar_remove_one()
233 dev_kfree_skb_any(iovb); in nicstar_remove_one()
731 struct sk_buff *iovb; in ns_init_card() local
732 iovb = alloc_skb(NS_IOVBUFSIZE, GFP_KERNEL); in ns_init_card()
733 if (iovb == NULL) { in ns_init_card()
741 NS_PRV_BUFTYPE(iovb) = BUF_NONE; in ns_init_card()
742 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()
1437 struct sk_buff *iovb; in ns_close() local
1447 iovb = vc->rx_iov; in ns_close()
1448 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, in ns_close()
1449 NS_PRV_IOVCNT(iovb)); in ns_close()
1450 NS_PRV_IOVCNT(iovb) = 0; in ns_close()
1452 recycle_iov_buf(card, iovb); in ns_close()
1966 struct sk_buff *iovb; in dequeue_rx() local
2059 if ((iovb = vc->rx_iov) == NULL) { in dequeue_rx()
2060 iovb = skb_dequeue(&(card->iovpool.queue)); in dequeue_rx()
2061 if (iovb == NULL) { /* No buffers in the queue */ in dequeue_rx()
2062 iovb = alloc_skb(NS_IOVBUFSIZE, GFP_ATOMIC); in dequeue_rx()
2063 if (iovb == NULL) { in dequeue_rx()
2070 NS_PRV_BUFTYPE(iovb) = BUF_NONE; in dequeue_rx()
2075 NS_PRV_BUFTYPE(iovb) = BUF_NONE; in dequeue_rx()
2080 vc->rx_iov = iovb; in dequeue_rx()
2081 NS_PRV_IOVCNT(iovb) = 0; in dequeue_rx()
2082 iovb->len = 0; in dequeue_rx()
2083 iovb->data = iovb->head; in dequeue_rx()
2084 skb_reset_tail_pointer(iovb); in dequeue_rx()
2088 } else if (NS_PRV_IOVCNT(iovb) >= NS_MAX_IOVECS) { in dequeue_rx()
2091 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, in dequeue_rx()
2093 NS_PRV_IOVCNT(iovb) = 0; in dequeue_rx()
2094 iovb->len = 0; in dequeue_rx()
2095 iovb->data = iovb->head; in dequeue_rx()
2096 skb_reset_tail_pointer(iovb); in dequeue_rx()
2098 iov = &((struct iovec *)iovb->data)[NS_PRV_IOVCNT(iovb)++]; in dequeue_rx()
2101 iovb->len += iov->iov_len; in dequeue_rx()
2104 if (NS_PRV_IOVCNT(iovb) == 1) { in dequeue_rx()
2113 recycle_iov_buf(card, iovb); in dequeue_rx()
2124 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, in dequeue_rx()
2125 NS_PRV_IOVCNT(iovb)); in dequeue_rx()
2127 recycle_iov_buf(card, iovb); in dequeue_rx()
2140 len + 8 > iovb->len || len + (47 + 8) < iovb->len) { in dequeue_rx()
2142 if (len + 8 > iovb->len || len + (47 + 8) < iovb->len) in dequeue_rx()
2147 recycle_iovec_rx_bufs(card, (struct iovec *)iovb->data, in dequeue_rx()
2148 NS_PRV_IOVCNT(iovb)); in dequeue_rx()
2150 recycle_iov_buf(card, iovb); in dequeue_rx()
2156 if (NS_PRV_IOVCNT(iovb) == 1) { /* Just a small buffer */ in dequeue_rx()
2169 } else if (NS_PRV_IOVCNT(iovb) == 2) { /* One small plus one large buffer */ in dequeue_rx()
2228 iovb->data, in dequeue_rx()
2229 NS_PRV_IOVCNT(iovb)); in dequeue_rx()
2231 recycle_iov_buf(card, iovb); in dequeue_rx()
2266 iov = (struct iovec *)iovb->data; in dequeue_rx()
2270 NS_PRV_IOVCNT(iovb)); in dequeue_rx()
2289 for (j = 1; j < NS_PRV_IOVCNT(iovb); j++) { in dequeue_rx()
2315 recycle_iov_buf(card, iovb); in dequeue_rx()
2336 static void recycle_iov_buf(ns_dev * card, struct sk_buff *iovb) in recycle_iov_buf() argument
2339 skb_queue_tail(&card->iovpool.queue, iovb); in recycle_iov_buf()
2342 dev_kfree_skb_any(iovb); in recycle_iov_buf()
2629 struct sk_buff *iovb; in ns_ioctl() local
2632 iovb = skb_dequeue(&card->iovpool.queue); in ns_ioctl()
2635 if (iovb == NULL) in ns_ioctl()
2640 dev_kfree_skb_any(iovb); in ns_ioctl()
2644 struct sk_buff *iovb; in ns_ioctl() local
2646 iovb = alloc_skb(NS_IOVBUFSIZE, GFP_KERNEL); in ns_ioctl()
2647 if (iovb == NULL) in ns_ioctl()
2649 NS_PRV_BUFTYPE(iovb) = BUF_NONE; in ns_ioctl()
2651 skb_queue_tail(&card->iovpool.queue, iovb); in ns_ioctl()