summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Gordeev <agordeev@redhat.com>2013-12-16 09:34:54 +0100
committerBjorn Helgaas <bhelgaas@google.com>2013-12-20 09:45:05 -0700
commita384c8924a8be3f5cf7dac06c04e9dd4a78b41df (patch)
treeb86d44ed88cc9e16a5f1c5082778d216c7edc347
parent1c51b50c2995f543d145d3bce78029ac9f8ca6b3 (diff)
downloadlinux-a384c8924a8be3f5cf7dac06c04e9dd4a78b41df.tar.gz
linux-a384c8924a8be3f5cf7dac06c04e9dd4a78b41df.tar.bz2
linux-a384c8924a8be3f5cf7dac06c04e9dd4a78b41df.zip
s390/PCI: Fix single MSI only check
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>
-rw-r--r--arch/s390/pci/pci.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index bf7c73d71eef..6f3788e3363e 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -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);