vfio-pci: No spurious MSIs
FreeBSD doesn't like these spurious MSIs, remove them as they're mostly paranoia anyway. Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
fd704adc47
commit
98cd5a5eaf
@ -322,21 +322,12 @@ static int vfio_msix_vector_use(PCIDevice *pdev,
|
|||||||
* increase them as needed.
|
* increase them as needed.
|
||||||
*/
|
*/
|
||||||
if (vdev->nr_vectors < nr + 1) {
|
if (vdev->nr_vectors < nr + 1) {
|
||||||
int i;
|
|
||||||
|
|
||||||
vfio_disable_irqindex(vdev, VFIO_PCI_MSIX_IRQ_INDEX);
|
vfio_disable_irqindex(vdev, VFIO_PCI_MSIX_IRQ_INDEX);
|
||||||
vdev->nr_vectors = nr + 1;
|
vdev->nr_vectors = nr + 1;
|
||||||
ret = vfio_enable_vectors(vdev, true);
|
ret = vfio_enable_vectors(vdev, true);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
error_report("vfio: failed to enable vectors, %d\n", ret);
|
error_report("vfio: failed to enable vectors, %d\n", ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We don't know if we've missed interrupts in the interim... */
|
|
||||||
for (i = 0; i < vdev->msix->entries; i++) {
|
|
||||||
if (vdev->msi_vectors[i].use) {
|
|
||||||
msix_notify(&vdev->pdev, i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
VFIOIRQSetFD irq_set_fd = {
|
VFIOIRQSetFD irq_set_fd = {
|
||||||
.irq_set = {
|
.irq_set = {
|
||||||
@ -353,12 +344,6 @@ static int vfio_msix_vector_use(PCIDevice *pdev,
|
|||||||
if (ret) {
|
if (ret) {
|
||||||
error_report("vfio: failed to modify vector, %d\n", ret);
|
error_report("vfio: failed to modify vector, %d\n", ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* If we were connected to the hardware PBA we could skip this,
|
|
||||||
* until then, a spurious interrupt is better than starvation.
|
|
||||||
*/
|
|
||||||
msix_notify(&vdev->pdev, nr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user