mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
vfio: Pass an error object to vfio_get_group
Pass an error object to prepare for migration to VFIO-PCI realize. For the time being let's just simply report the error in vfio platform's vfio_base_device_init(). A subsequent patch will duly propagate the error up to vfio_platform_realize. Signed-off-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
01905f58f1
commit
1b808d5be0
4 changed files with 22 additions and 18 deletions
|
@ -552,6 +552,7 @@ static int vfio_base_device_init(VFIODevice *vbasedev)
|
|||
ssize_t len;
|
||||
struct stat st;
|
||||
int groupid;
|
||||
Error *err = NULL;
|
||||
int ret;
|
||||
|
||||
/* @sysfsdev takes precedence over @host */
|
||||
|
@ -592,10 +593,10 @@ static int vfio_base_device_init(VFIODevice *vbasedev)
|
|||
|
||||
trace_vfio_platform_base_device_init(vbasedev->name, groupid);
|
||||
|
||||
group = vfio_get_group(groupid, &address_space_memory);
|
||||
group = vfio_get_group(groupid, &address_space_memory, &err);
|
||||
if (!group) {
|
||||
error_report("vfio: failed to get group %d", groupid);
|
||||
return -ENOENT;
|
||||
ret = -ENOENT;
|
||||
goto error;
|
||||
}
|
||||
|
||||
QLIST_FOREACH(vbasedev_iter, &group->device_list, next) {
|
||||
|
@ -619,6 +620,10 @@ static int vfio_base_device_init(VFIODevice *vbasedev)
|
|||
vfio_put_group(group);
|
||||
}
|
||||
|
||||
error:
|
||||
if (err) {
|
||||
error_reportf_err(err, ERR_PREFIX, vbasedev->name);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue