Message ID | 20231215172830.2540987-6-eperezma@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Map memory at destination .load_setup in vDPA-net migration | expand |
On Sat, Dec 16, 2023 at 1:28 AM Eugenio Pérez <eperezma@redhat.com> wrote: > > This makes easier to build an error path in next patches. No functional > change. > > Signed-off-by: Eugenio Pérez <eperezma@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com> Thanks > --- > hw/virtio/vhost-vdpa.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c > index 57a8043cd4..449c3794b2 100644 > --- a/hw/virtio/vhost-vdpa.c > +++ b/hw/virtio/vhost-vdpa.c > @@ -1302,7 +1302,7 @@ static void vhost_vdpa_suspend(struct vhost_dev *dev) > static int vhost_vdpa_dev_start(struct vhost_dev *dev, bool started) > { > struct vhost_vdpa *v = dev->opaque; > - bool ok; > + bool ok = true; > trace_vhost_vdpa_dev_start(dev, started); > > if (started) { > @@ -1313,8 +1313,7 @@ static int vhost_vdpa_dev_start(struct vhost_dev *dev, bool started) > } > } else { > vhost_vdpa_suspend(dev); > - vhost_vdpa_svqs_stop(dev); > - vhost_vdpa_host_notifiers_uninit(dev, dev->nvqs); > + goto out_stop; > } > > if (dev->vq_index + dev->nvqs != dev->vq_index_end) { > @@ -1333,6 +1332,11 @@ static int vhost_vdpa_dev_start(struct vhost_dev *dev, bool started) > } > > return 0; > + > +out_stop: > + vhost_vdpa_svqs_stop(dev); > + vhost_vdpa_host_notifiers_uninit(dev, dev->nvqs); > + return ok ? 0 : -1; > } > > static void vhost_vdpa_reset_status(struct vhost_dev *dev) > -- > 2.39.3 >
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c index 57a8043cd4..449c3794b2 100644 --- a/hw/virtio/vhost-vdpa.c +++ b/hw/virtio/vhost-vdpa.c @@ -1302,7 +1302,7 @@ static void vhost_vdpa_suspend(struct vhost_dev *dev) static int vhost_vdpa_dev_start(struct vhost_dev *dev, bool started) { struct vhost_vdpa *v = dev->opaque; - bool ok; + bool ok = true; trace_vhost_vdpa_dev_start(dev, started); if (started) { @@ -1313,8 +1313,7 @@ static int vhost_vdpa_dev_start(struct vhost_dev *dev, bool started) } } else { vhost_vdpa_suspend(dev); - vhost_vdpa_svqs_stop(dev); - vhost_vdpa_host_notifiers_uninit(dev, dev->nvqs); + goto out_stop; } if (dev->vq_index + dev->nvqs != dev->vq_index_end) { @@ -1333,6 +1332,11 @@ static int vhost_vdpa_dev_start(struct vhost_dev *dev, bool started) } return 0; + +out_stop: + vhost_vdpa_svqs_stop(dev); + vhost_vdpa_host_notifiers_uninit(dev, dev->nvqs); + return ok ? 0 : -1; } static void vhost_vdpa_reset_status(struct vhost_dev *dev)
This makes easier to build an error path in next patches. No functional change. Signed-off-by: Eugenio Pérez <eperezma@redhat.com> --- hw/virtio/vhost-vdpa.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)