Commit 5053bd78 authored by Eric Auger's avatar Eric Auger Committed by Alex Williamson
Browse files

vfio/pci: Trace vfio_set_irq_signaling() failure in vfio_msix_vector_release()



Report an error in case we fail to set a trigger action
on any VFIO_PCI_MSIX_IRQ_INDEX subindex. This might be
useful in debugging a device that is not working properly.

Signed-off-by: default avatarEric Auger <eric.auger@redhat.com>
Reported-by: Coverity (CID 1402196)
Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
parent d53f7a61
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -551,9 +551,12 @@ static void vfio_msix_vector_release(PCIDevice *pdev, unsigned int nr)
     */
    if (vector->virq >= 0) {
        int32_t fd = event_notifier_get_fd(&vector->interrupt);
        Error *err = NULL;

        vfio_set_irq_signaling(&vdev->vbasedev, VFIO_PCI_MSIX_IRQ_INDEX, nr,
                               VFIO_IRQ_SET_ACTION_TRIGGER, fd, NULL);
        if (vfio_set_irq_signaling(&vdev->vbasedev, VFIO_PCI_MSIX_IRQ_INDEX, nr,
                                   VFIO_IRQ_SET_ACTION_TRIGGER, fd, &err)) {
            error_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name);
        }
    }
}