diff options
| author | Konrad Rzeszutek Wilk | 2015-06-24 23:27:40 +0200 |
|---|---|---|
| committer | Stefano Stabellini | 2015-09-10 18:47:18 +0200 |
| commit | fe2da64c5ab882124aaf14c27d62409d02ff1786 (patch) | |
| tree | ad2eaa4335d35d1699097ac1fa988e20305adc61 /hw/xen | |
| parent | xen/pt: Log xen_host_pci_get in two init functions (diff) | |
| download | qemu-fe2da64c5ab882124aaf14c27d62409d02ff1786.tar.gz qemu-fe2da64c5ab882124aaf14c27d62409d02ff1786.tar.xz qemu-fe2da64c5ab882124aaf14c27d62409d02ff1786.zip | |
xen/pt: Log xen_host_pci_get/set errors in MSI code.
We seem to only use these functions when de-activating the
MSI - so just log errors.
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Diffstat (limited to 'hw/xen')
| -rw-r--r-- | hw/xen/xen_pt_msi.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c index 5822df5f60..e3d71945cd 100644 --- a/hw/xen/xen_pt_msi.c +++ b/hw/xen/xen_pt_msi.c @@ -75,19 +75,29 @@ static int msi_msix_enable(XenPCIPassthroughState *s, bool enable) { uint16_t val = 0; + int rc; if (!address) { return -1; } - xen_host_pci_get_word(&s->real_device, address, &val); + rc = xen_host_pci_get_word(&s->real_device, address, &val); + if (rc) { + XEN_PT_ERR(&s->dev, "Failed to read MSI/MSI-X register (0x%x), rc:%d\n", + address, rc); + return rc; + } if (enable) { val |= flag; } else { val &= ~flag; } - xen_host_pci_set_word(&s->real_device, address, val); - return 0; + rc = xen_host_pci_set_word(&s->real_device, address, val); + if (rc) { + XEN_PT_ERR(&s->dev, "Failed to write MSI/MSI-X register (0x%x), rc:%d\n", + address, rc); + } + return rc; } static int msi_msix_setup(XenPCIPassthroughState *s, @@ -276,7 +286,7 @@ void xen_pt_msi_disable(XenPCIPassthroughState *s) return; } - xen_pt_msi_set_enable(s, false); + (void)xen_pt_msi_set_enable(s, false); msi_msix_disable(s, msi_addr64(msi), msi->data, msi->pirq, false, msi->initialized); |
