It's a bit overkill to use BUG when failing to add an entry to the
stats_vq in init_vqs. So remove it and just return the error to the
caller to bail out nicely.

Signed-off-by: Wei Wang <wei.w.w...@intel.com>
Cc: Michael S. Tsirkin <m...@redhat.com>
---
 drivers/virtio/virtio_balloon.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
index 6b237e3..9356a1a 100644
--- a/drivers/virtio/virtio_balloon.c
+++ b/drivers/virtio/virtio_balloon.c
@@ -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;
-- 
2.7.4

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to