Merge branch 'pci/visconti'
[linux-2.6-microblaze.git] / drivers / pci / controller / pci-xgene-msi.c
index 1c34c89..f1624bb 100644 (file)
@@ -291,8 +291,7 @@ static void xgene_msi_isr(struct irq_desc *desc)
        struct irq_chip *chip = irq_desc_get_chip(desc);
        struct xgene_msi_group *msi_groups;
        struct xgene_msi *xgene_msi;
-       unsigned int virq;
-       int msir_index, msir_val, hw_irq;
+       int msir_index, msir_val, hw_irq, ret;
        u32 intr_index, grp_select, msi_grp;
 
        chained_irq_enter(chip, desc);
@@ -330,10 +329,8 @@ static void xgene_msi_isr(struct irq_desc *desc)
                         * CPU0
                         */
                        hw_irq = hwirq_to_canonical_hwirq(hw_irq);
-                       virq = irq_find_mapping(xgene_msi->inner_domain, hw_irq);
-                       WARN_ON(!virq);
-                       if (virq != 0)
-                               generic_handle_irq(virq);
+                       ret = generic_handle_domain_irq(xgene_msi->inner_domain, hw_irq);
+                       WARN_ON_ONCE(ret);
                        msir_val &= ~(1 << intr_index);
                }
                grp_select &= ~(1 << msir_index);