aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/pci
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-04 18:59:13 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-04 18:59:13 -0400
commitd09cc3659db494aca4b3bb2393c533fb4946b794 (patch)
tree158d1dd5fa5fddf1c99da677a193b8561c11274d /arch/s390/pci
parent82e627eb5e07d7993216c9e63fb5550cf6ed25d7 (diff)
parentc0ffa793994a7a69c37a96dabf38323eae1dffa6 (diff)
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
Pull core irq updates from Thomas Gleixner: "The irq department delivers: - Another tree wide update to get rid of the horrible create_irq interface along with its even more horrible variants. That also gets rid of the last leftovers of the initial sparse irq hackery. arch/driver specific changes have been either acked or ignored. - A fix for the spurious interrupt detection logic with threaded interrupts. - A new ARM SoC interrupt controller - The usual pile of fixes and improvements all over the place" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits) Documentation: brcmstb-l2: Add Broadcom STB Level-2 interrupt controller binding irqchip: brcmstb-l2: Add Broadcom Set Top Box Level-2 interrupt controller genirq: Improve documentation to match current implementation ARM: iop13xx: fix msi support with sparse IRQ genirq: Provide !SMP stub for irq_set_affinity_notifier() irqchip: armada-370-xp: Move the devicetree binding documentation irqchip: gic: Use mask field in GICC_IAR genirq: Remove dynamic_irq mess ia64: Use irq_init_desc genirq: Replace dynamic_irq_init/cleanup genirq: Remove irq_reserve_irq[s] genirq: Replace reserve_irqs in core code s390: Avoid call to irq_reserve_irqs() s390: Remove pointless arch_show_interrupts() s390: pci: Check return value of alloc_irq_desc() proper sh: intc: Remove pointless irq_reserve_irqs() invocation x86, irq: Remove pointless irq_reserve_irqs() call genirq: Make create/destroy_irq() ia64 private tile: Use SPARSE_IRQ tile: pci: Use irq_alloc/free_hwirq() ...
Diffstat (limited to 'arch/s390/pci')
-rw-r--r--arch/s390/pci/pci.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index bdf02570d1df..9ddc51eeb8d6 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -401,11 +401,11 @@ static void zpci_irq_handler(struct airq_struct *airq)
401int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) 401int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
402{ 402{
403 struct zpci_dev *zdev = get_zdev(pdev); 403 struct zpci_dev *zdev = get_zdev(pdev);
404 unsigned int hwirq, irq, msi_vecs; 404 unsigned int hwirq, msi_vecs;
405 unsigned long aisb; 405 unsigned long aisb;
406 struct msi_desc *msi; 406 struct msi_desc *msi;
407 struct msi_msg msg; 407 struct msi_msg msg;
408 int rc; 408 int rc, irq;
409 409
410 if (type == PCI_CAP_ID_MSI && nvec > 1) 410 if (type == PCI_CAP_ID_MSI && nvec > 1)
411 return 1; 411 return 1;
@@ -433,7 +433,7 @@ int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
433 list_for_each_entry(msi, &pdev->msi_list, list) { 433 list_for_each_entry(msi, &pdev->msi_list, list) {
434 rc = -EIO; 434 rc = -EIO;
435 irq = irq_alloc_desc(0); /* Alloc irq on node 0 */ 435 irq = irq_alloc_desc(0); /* Alloc irq on node 0 */
436 if (irq == NO_IRQ) 436 if (irq < 0)
437 goto out_msi; 437 goto out_msi;
438 rc = irq_set_msi_desc(irq, msi); 438 rc = irq_set_msi_desc(irq, msi);
439 if (rc) 439 if (rc)