|
@@ -370,7 +370,7 @@ static int add_recvbuf_small(struct virtnet_info *vi, gfp_t gfp)
|
|
|
|
|
|
skb_to_sgvec(skb, vi->rx_sg + 1, 0, skb->len);
|
|
|
|
|
|
- err = virtqueue_add_buf_gfp(vi->rvq, vi->rx_sg, 0, 2, skb, gfp);
|
|
|
+ err = virtqueue_add_buf(vi->rvq, vi->rx_sg, 0, 2, skb, gfp);
|
|
|
if (err < 0)
|
|
|
dev_kfree_skb(skb);
|
|
|
|
|
@@ -415,8 +415,8 @@ static int add_recvbuf_big(struct virtnet_info *vi, gfp_t gfp)
|
|
|
|
|
|
/* chain first in list head */
|
|
|
first->private = (unsigned long)list;
|
|
|
- err = virtqueue_add_buf_gfp(vi->rvq, vi->rx_sg, 0, MAX_SKB_FRAGS + 2,
|
|
|
- first, gfp);
|
|
|
+ err = virtqueue_add_buf(vi->rvq, vi->rx_sg, 0, MAX_SKB_FRAGS + 2,
|
|
|
+ first, gfp);
|
|
|
if (err < 0)
|
|
|
give_pages(vi, first);
|
|
|
|
|
@@ -434,7 +434,7 @@ static int add_recvbuf_mergeable(struct virtnet_info *vi, gfp_t gfp)
|
|
|
|
|
|
sg_init_one(vi->rx_sg, page_address(page), PAGE_SIZE);
|
|
|
|
|
|
- err = virtqueue_add_buf_gfp(vi->rvq, vi->rx_sg, 0, 1, page, gfp);
|
|
|
+ err = virtqueue_add_buf(vi->rvq, vi->rx_sg, 0, 1, page, gfp);
|
|
|
if (err < 0)
|
|
|
give_pages(vi, page);
|
|
|
|
|
@@ -609,7 +609,7 @@ static int xmit_skb(struct virtnet_info *vi, struct sk_buff *skb)
|
|
|
|
|
|
hdr->num_sg = skb_to_sgvec(skb, vi->tx_sg + 1, 0, skb->len) + 1;
|
|
|
return virtqueue_add_buf(vi->svq, vi->tx_sg, hdr->num_sg,
|
|
|
- 0, skb);
|
|
|
+ 0, skb, GFP_ATOMIC);
|
|
|
}
|
|
|
|
|
|
static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
@@ -767,7 +767,7 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd,
|
|
|
sg_set_buf(&sg[i + 1], sg_virt(s), s->length);
|
|
|
sg_set_buf(&sg[out + in - 1], &status, sizeof(status));
|
|
|
|
|
|
- BUG_ON(virtqueue_add_buf(vi->cvq, sg, out, in, vi) < 0);
|
|
|
+ BUG_ON(virtqueue_add_buf(vi->cvq, sg, out, in, vi, GFP_ATOMIC) < 0);
|
|
|
|
|
|
virtqueue_kick(vi->cvq);
|
|
|
|