parisc: Avoid external interrupts when IPI finishes
authorHelge Deller <deller@gmx.de>
Fri, 14 Aug 2020 13:14:12 +0000 (15:14 +0200)
committerHelge Deller <deller@gmx.de>
Thu, 15 Oct 2020 06:10:37 +0000 (08:10 +0200)
No need to allow external interrupts when the IPI loop is going to
finish now.

Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/kernel/smp.c

index 6271139..10227f6 100644 (file)
@@ -173,9 +173,12 @@ ipi_interrupt(int irq, void *dev_id)
                                        this_cpu, which);
                                return IRQ_NONE;
                        } /* Switch */
-               /* let in any pending interrupts */
-               local_irq_enable();
-               local_irq_disable();
+
+                       /* before doing more, let in any pending interrupts */
+                       if (ops) {
+                               local_irq_enable();
+                               local_irq_disable();
+                       }
                } /* while (ops) */
        }
        return IRQ_HANDLED;