Skip to content

Commit f2c6b9e

Browse files
committed
Merge tag 'vfio-v4.7-rc2' of git://github.com/awilliam/linux-vfio
Pull VFIO fixes from Alex Williamson: "Fix irqfd shutdown ordering, build warning, and VPD short read" * tag 'vfio-v4.7-rc2' of git://github.com/awilliam/linux-vfio: vfio/pci: Allow VPD short read vfio/type1: Fix build warning vfio/pci: Fix ordering of eventfd vs virqfd shutdown
2 parents 95b46ae + ce7585f commit f2c6b9e

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

drivers/vfio/pci/vfio_pci_config.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -749,7 +749,8 @@ static int vfio_vpd_config_write(struct vfio_pci_device *vdev, int pos,
749749
if (pci_write_vpd(pdev, addr & ~PCI_VPD_ADDR_F, 4, &data) != 4)
750750
return count;
751751
} else {
752-
if (pci_read_vpd(pdev, addr, 4, &data) != 4)
752+
data = 0;
753+
if (pci_read_vpd(pdev, addr, 4, &data) < 0)
753754
return count;
754755
*pdata = cpu_to_le32(data);
755756
}

drivers/vfio/pci/vfio_pci_intrs.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,9 @@ static int vfio_intx_set_signal(struct vfio_pci_device *vdev, int fd)
228228

229229
static void vfio_intx_disable(struct vfio_pci_device *vdev)
230230
{
231-
vfio_intx_set_signal(vdev, -1);
232231
vfio_virqfd_disable(&vdev->ctx[0].unmask);
233232
vfio_virqfd_disable(&vdev->ctx[0].mask);
233+
vfio_intx_set_signal(vdev, -1);
234234
vdev->irq_type = VFIO_PCI_NUM_IRQS;
235235
vdev->num_ctx = 0;
236236
kfree(vdev->ctx);
@@ -401,13 +401,13 @@ static void vfio_msi_disable(struct vfio_pci_device *vdev, bool msix)
401401
struct pci_dev *pdev = vdev->pdev;
402402
int i;
403403

404-
vfio_msi_set_block(vdev, 0, vdev->num_ctx, NULL, msix);
405-
406404
for (i = 0; i < vdev->num_ctx; i++) {
407405
vfio_virqfd_disable(&vdev->ctx[i].unmask);
408406
vfio_virqfd_disable(&vdev->ctx[i].mask);
409407
}
410408

409+
vfio_msi_set_block(vdev, 0, vdev->num_ctx, NULL, msix);
410+
411411
if (msix) {
412412
pci_disable_msix(vdev->pdev);
413413
kfree(vdev->msix);

drivers/vfio/vfio_iommu_type1.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@ static int map_try_harder(struct vfio_domain *domain, dma_addr_t iova,
515515
unsigned long pfn, long npage, int prot)
516516
{
517517
long i;
518-
int ret;
518+
int ret = 0;
519519

520520
for (i = 0; i < npage; i++, pfn++, iova += PAGE_SIZE) {
521521
ret = iommu_map(domain->domain, iova,

0 commit comments

Comments
 (0)