Merge branch 'fixes-v5.14' into fixes
[linux-2.6-microblaze.git] / drivers / irqchip / irq-stm32-exti.c
index 4704f2e..33c7671 100644 (file)
@@ -257,7 +257,7 @@ static void stm32_irq_handler(struct irq_desc *desc)
 {
        struct irq_domain *domain = irq_desc_get_handler_data(desc);
        struct irq_chip *chip = irq_desc_get_chip(desc);
-       unsigned int virq, nbanks = domain->gc->num_chips;
+       unsigned int nbanks = domain->gc->num_chips;
        struct irq_chip_generic *gc;
        unsigned long pending;
        int n, i, irq_base = 0;
@@ -268,11 +268,9 @@ static void stm32_irq_handler(struct irq_desc *desc)
                gc = irq_get_domain_generic_chip(domain, irq_base);
 
                while ((pending = stm32_exti_pending(gc))) {
-                       for_each_set_bit(n, &pending, IRQS_PER_BANK) {
-                               virq = irq_find_mapping(domain, irq_base + n);
-                               generic_handle_irq(virq);
-                       }
-               }
+                       for_each_set_bit(n, &pending, IRQS_PER_BANK)
+                               generic_handle_domain_irq(domain, irq_base + n);
+               }
        }
 
        chained_irq_exit(chip, desc);