From: Christoph Hellwig Date: Thu, 11 Aug 2016 14:11:05 +0000 (-0700) Subject: PCI: Call pci_intx() when using legacy interrupts in pci_alloc_irq_vectors() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5d0bdf2867825a92c0a563957a2fb059149ab0d4;p=linux.git PCI: Call pci_intx() when using legacy interrupts in pci_alloc_irq_vectors() ahci currently insists on an explicit call to pci_intx() before falling back from MSI or MSI-X to legacy IRQs. As pci_intx() is a no-op if the command register already contains the right value it seems safe and useful to add this call to pci_alloc_irq_vectors() so that ahci can just use pci_alloc_irq_vectors(). Signed-off-by: Christoph Hellwig Signed-off-by: Bjorn Helgaas --- diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 9233e7f62f474..593698e11f963 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -1200,8 +1200,11 @@ int pci_alloc_irq_vectors(struct pci_dev *dev, unsigned int min_vecs, } /* use legacy irq if allowed */ - if ((flags & PCI_IRQ_LEGACY) && min_vecs == 1) + if ((flags & PCI_IRQ_LEGACY) && min_vecs == 1) { + pci_intx(dev, 1); return 1; + } + return vecs; } EXPORT_SYMBOL(pci_alloc_irq_vectors);