pci-assign: accept Error from monitor_handle_fd_param2()
Propagate any errors in monitor fd handling up to get_real_device(), and report them there. We'll continue the propagation upwards when get_real_device() becomes a leaf itself (when none of its callees will report errors internally any longer when detecting and returning an error). Signed-off-by: Laszlo Ersek <lersek@redhat.com> eviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
parent
5906366ef0
commit
cf10a5b18f
@ -541,6 +541,7 @@ static int get_real_device(AssignedDevice *pci_dev)
|
|||||||
uint16_t id;
|
uint16_t id;
|
||||||
PCIRegion *rp;
|
PCIRegion *rp;
|
||||||
PCIDevRegions *dev = &pci_dev->real_device;
|
PCIDevRegions *dev = &pci_dev->real_device;
|
||||||
|
Error *local_err = NULL;
|
||||||
|
|
||||||
dev->region_number = 0;
|
dev->region_number = 0;
|
||||||
|
|
||||||
@ -551,8 +552,12 @@ static int get_real_device(AssignedDevice *pci_dev)
|
|||||||
snprintf(name, sizeof(name), "%sconfig", dir);
|
snprintf(name, sizeof(name), "%sconfig", dir);
|
||||||
|
|
||||||
if (pci_dev->configfd_name && *pci_dev->configfd_name) {
|
if (pci_dev->configfd_name && *pci_dev->configfd_name) {
|
||||||
dev->config_fd = monitor_handle_fd_param(cur_mon, pci_dev->configfd_name);
|
dev->config_fd = monitor_handle_fd_param2(cur_mon,
|
||||||
if (dev->config_fd < 0) {
|
pci_dev->configfd_name,
|
||||||
|
&local_err);
|
||||||
|
if (local_err) {
|
||||||
|
qerror_report_err(local_err);
|
||||||
|
error_free(local_err);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user