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-Tag: v6.1~15836^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5d0bdf2867825a92c0a563957a2fb059149ab0d4;p=sdk%2Femulator%2Femulator-kernel.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 9233e7f62f47..593698e11f96 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);