|
@@ -455,9 +455,13 @@ static int init_vqs(struct virtio_balloon *vb)
|
|
|
num_stats = update_balloon_stats(vb);
|
|
|
|
|
|
sg_init_one(&sg, vb->stats, sizeof(vb->stats[0]) * num_stats);
|
|
|
- if (virtqueue_add_outbuf(vb->stats_vq, &sg, 1, vb, GFP_KERNEL)
|
|
|
- < 0)
|
|
|
- BUG();
|
|
|
+ err = virtqueue_add_outbuf(vb->stats_vq, &sg, 1, vb,
|
|
|
+ GFP_KERNEL);
|
|
|
+ if (err) {
|
|
|
+ dev_warn(&vb->vdev->dev, "%s: add stat_vq failed\n",
|
|
|
+ __func__);
|
|
|
+ return err;
|
|
|
+ }
|
|
|
virtqueue_kick(vb->stats_vq);
|
|
|
}
|
|
|
return 0;
|