Message ID | 20240522170107.289532-7-clg@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x/ccw: Error reporting cleanups | expand |
On 5/22/24 19:01, Cédric Le Goater wrote: > From: Zhenzhong Duan <zhenzhong.duan@intel.com> > > When get name failed, we should call unrealize() so that > vfio_ccw_realize() is self contained. > > Fixes: 909a6254eda ("vfio/ccw: Make vfio cdev pre-openable by passing a file handle") > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Thanks, C. > --- > hw/vfio/ccw.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c > index a468fa2342b97e0ee36bd5fb8443025cc90a0453..36f2677a448c5e31523dcc3de7d973ec70e4a13c 100644 > --- a/hw/vfio/ccw.c > +++ b/hw/vfio/ccw.c > @@ -588,7 +588,7 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp) > } > > if (!vfio_device_get_name(vbasedev, errp)) { > - return; > + goto out_unrealize; > } > > if (!vfio_attach_device(cdev->mdevid, vbasedev, > @@ -631,6 +631,7 @@ out_region_err: > vfio_detach_device(vbasedev); > out_attach_dev_err: > g_free(vbasedev->name); > +out_unrealize: > if (cdc->unrealize) { > cdc->unrealize(cdev); > }
diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c index a468fa2342b97e0ee36bd5fb8443025cc90a0453..36f2677a448c5e31523dcc3de7d973ec70e4a13c 100644 --- a/hw/vfio/ccw.c +++ b/hw/vfio/ccw.c @@ -588,7 +588,7 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp) } if (!vfio_device_get_name(vbasedev, errp)) { - return; + goto out_unrealize; } if (!vfio_attach_device(cdev->mdevid, vbasedev, @@ -631,6 +631,7 @@ out_region_err: vfio_detach_device(vbasedev); out_attach_dev_err: g_free(vbasedev->name); +out_unrealize: if (cdc->unrealize) { cdc->unrealize(cdev); }