diff options
-rw-r--r-- | drivers/net/virtio_net.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 25dc77ccbf58..3f5be35dea25 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c | |||
@@ -326,6 +326,7 @@ static int add_recvbuf_small(struct virtnet_info *vi, gfp_t gfp) | |||
326 | struct scatterlist sg[2]; | 326 | struct scatterlist sg[2]; |
327 | int err; | 327 | int err; |
328 | 328 | ||
329 | sg_init_table(sg, 2); | ||
329 | skb = netdev_alloc_skb_ip_align(vi->dev, MAX_PACKET_LEN); | 330 | skb = netdev_alloc_skb_ip_align(vi->dev, MAX_PACKET_LEN); |
330 | if (unlikely(!skb)) | 331 | if (unlikely(!skb)) |
331 | return -ENOMEM; | 332 | return -ENOMEM; |
@@ -351,6 +352,7 @@ static int add_recvbuf_big(struct virtnet_info *vi, gfp_t gfp) | |||
351 | char *p; | 352 | char *p; |
352 | int i, err, offset; | 353 | int i, err, offset; |
353 | 354 | ||
355 | sg_init_table(sg, MAX_SKB_FRAGS + 2); | ||
354 | /* page in sg[MAX_SKB_FRAGS + 1] is list tail */ | 356 | /* page in sg[MAX_SKB_FRAGS + 1] is list tail */ |
355 | for (i = MAX_SKB_FRAGS + 1; i > 1; --i) { | 357 | for (i = MAX_SKB_FRAGS + 1; i > 1; --i) { |
356 | first = get_a_page(vi, gfp); | 358 | first = get_a_page(vi, gfp); |