Skip to content

Commit

Permalink
xen/pt: Log xen_host_pci_get/set errors in MSI code.
Browse files Browse the repository at this point in the history
We seem to only use these functions when de-activating the
MSI - so just log errors.

Reviewed-by: Stefano Stabellini <[email protected]>
Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
Signed-off-by: Stefano Stabellini <[email protected]>
  • Loading branch information
konradwilk authored and Stefano Stabellini committed Sep 10, 2015
1 parent ea6c50f commit fe2da64
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions hw/xen/xen_pt_msi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit fe2da64

Please sign in to comment.