Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
virtio_pci: use irq to detect interrupt support
commit 71491c5 ("virtio_pci: don't try to use intxif pin is zero") breaks virtio_pci on powerpc, when running as a qemu guest. vp_find_vqs() bails out because pci_dev->pin == 0. But pci_dev->irq is populated correctly, so vp_find_vqs_intx() would succeed if we called it - which is what the code used to do. This seems to happen because pci_dev->pin is not populated in pci_assign_irq(). A PCI core bug? Maybe. However Linus said: I really think that that is basically the only time you should use that 'pci_dev->pin' thing: it basically exists not for "does this device have an IRQ", but for "what is the routing of this irq on this device". and The correct way to check for "no irq" doesn't use NO_IRQ at all, it just does if (dev->irq) ... so let's just check irq and be done with it. Suggested-by: Linus Torvalds <[email protected]> Reported-by: Michael Ellerman <[email protected]> Fixes: 71491c5 ("virtio_pci: don't try to use intxif pin is zero") Cc: "Angus Chen" <[email protected]> Signed-off-by: Michael S. Tsirkin <[email protected]> Tested-by: Michael Ellerman <[email protected]> Acked-by: Jason Wang <[email protected]> Message-Id: <[email protected]>
- Loading branch information