s390/PCI: Fix single MSI only check
authorAlexander Gordeev <agordeev@redhat.com>
Mon, 16 Dec 2013 08:34:54 +0000 (09:34 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 20 Dec 2013 16:45:05 +0000 (09:45 -0700)
Multiple MSIs have never been supported on s390 architecture, but the
platform code fails to report single MSI only.

Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/pci/pci.c

index bf7c73d71eef1ee46ee9bcec9516be70fcc2dc27..6f3788e3363e32f82f069692cfa5568a6f13c59c 100644 (file)
@@ -409,6 +409,8 @@ int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
 
        if (type != PCI_CAP_ID_MSIX && type != PCI_CAP_ID_MSI)
                return -EINVAL;
+       if (type == PCI_CAP_ID_MSI && nvec > 1)
+               return 1;
        msi_vecs = min(nvec, ZPCI_MSI_VEC_MAX);
        msi_vecs = min_t(unsigned int, msi_vecs, CONFIG_PCI_NR_MSI);