Commit fe2da64c authored by Konrad Rzeszutek Wilk's avatar Konrad Rzeszutek Wilk Committed by Stefano Stabellini
Browse files

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: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
parent ea6c50f9
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -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);