aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/pci/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/pci/pci.c')
-rw-r--r--arch/s390/pci/pci.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index a966d7bfac57..4266a4de3160 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -382,7 +382,9 @@ static void zpci_irq_handler(struct airq_struct *airq)
382 if (ai == -1UL) 382 if (ai == -1UL)
383 break; 383 break;
384 inc_irq_stat(IRQIO_MSI); 384 inc_irq_stat(IRQIO_MSI);
385 airq_iv_lock(aibv, ai);
385 generic_handle_irq(airq_iv_get_data(aibv, ai)); 386 generic_handle_irq(airq_iv_get_data(aibv, ai));
387 airq_iv_unlock(aibv, ai);
386 } 388 }
387 } 389 }
388} 390}
@@ -408,7 +410,7 @@ int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
408 zdev->aisb = aisb; 410 zdev->aisb = aisb;
409 411
410 /* Create adapter interrupt vector */ 412 /* Create adapter interrupt vector */
411 zdev->aibv = airq_iv_create(msi_vecs, AIRQ_IV_DATA); 413 zdev->aibv = airq_iv_create(msi_vecs, AIRQ_IV_DATA | AIRQ_IV_BITLOCK);
412 if (!zdev->aibv) 414 if (!zdev->aibv)
413 return -ENOMEM; 415 return -ENOMEM;
414 416