Merge tag 'irqchip-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm...
[linux-2.6-microblaze.git] / drivers / irqchip / irq-gic-v3.c
index 94b8925..37a23aa 100644 (file)
@@ -648,6 +648,10 @@ static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs
 
        irqnr = gic_read_iar();
 
+       /* Check for special IDs first */
+       if ((irqnr >= 1020 && irqnr <= 1023))
+               return;
+
        if (gic_supports_nmi() &&
            unlikely(gic_read_rpr() == GICD_INT_NMI_PRI)) {
                gic_handle_nmi(irqnr, regs);
@@ -659,10 +663,6 @@ static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs
                gic_arch_enable_irqs();
        }
 
-       /* Check for special IDs first */
-       if ((irqnr >= 1020 && irqnr <= 1023))
-               return;
-
        if (static_branch_likely(&supports_deactivate_key))
                gic_write_eoir(irqnr);
        else