/* This function changes a queue full of hw rsc buffers into a completed packet. It uses the ->prev pointers to find the first packet and then turns it into the frag list owner.  */
static struct sk_buff* ixgbe_transform_rsc_queue(struct sk_buff *skb, u64 *count)
/* This function changes a queue full of hw rsc buffers into a completed packet. It uses the ->prev pointers to find the first packet and then turns it into the frag list owner.  */
static struct sk_buff* ixgbe_transform_rsc_queue(struct sk_buff *skb, u64 *count)
{
	unsigned int frag_list_size = 0;
	while (skb->prev) {
		struct sk_buff *prev = skb->prev;
		frag_list_size += skb->len;
		skb->prev = NULL;
		skb = prev;
		*count += 1;
	}
	skb_shinfo(skb)->frag_list = skb->next;
	skb->next = NULL;
	skb->len += frag_list_size;
	skb->data_len += frag_list_size;
	skb->truesize += frag_list_size;
	return skb;
}