aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorEric Auger <eric.auger@redhat.com>2023-10-09 11:09:06 +0200
committerCédric Le Goater <clg@redhat.com>2023-10-18 10:10:49 +0200
commit77c212599d3851ebaaff435013f571f6870a00b1 (patch)
treebf6bd03fbd6f7a119d8742313e7d17c48f6104a2 /hw
parent1e09f52f4d1f1775004c9c64bbef1f498a915758 (diff)
downloadqemu-77c212599d3851ebaaff435013f571f6870a00b1.zip
qemu-77c212599d3851ebaaff435013f571f6870a00b1.tar.gz
qemu-77c212599d3851ebaaff435013f571f6870a00b1.tar.bz2
vfio/common: Propagate KVM_SET_DEVICE_ATTR error if any
In the VFIO_SPAPR_TCE_v2_IOMMU container case, when KVM_SET_DEVICE_ATTR fails, we currently don't propagate the error as we do on the vfio_spapr_create_window() failure case. Let's align the code. Take the opportunity to reword the error message and make it more explicit. Signed-off-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Signed-off-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/vfio/common.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index 4e122fc..c54a72e 100644
--- a/hw/vfio/common.c
+++ b/hw/vfio/common.c
@@ -878,11 +878,11 @@ static void vfio_listener_region_add(MemoryListener *listener,
QLIST_FOREACH(group, &container->group_list, container_next) {
param.groupfd = group->fd;
if (ioctl(vfio_kvm_device_fd, KVM_SET_DEVICE_ATTR, &attr)) {
- error_report("vfio: failed to setup fd %d "
- "for a group with fd %d: %s",
- param.tablefd, param.groupfd,
- strerror(errno));
- return;
+ error_setg_errno(&err, errno,
+ "vfio: failed GROUP_SET_SPAPR_TCE for "
+ "KVM VFIO device %d and group fd %d",
+ param.tablefd, param.groupfd);
+ goto fail;
}
trace_vfio_spapr_group_attach(param.groupfd, param.tablefd);
}