summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2020-08-14 15:14:12 +0200
committerHelge Deller <deller@gmx.de>2020-10-15 08:10:37 +0200
commitf4d0d40cd1f19104e4f60537973ff5ac2f90123e (patch)
tree9cabd2f7f4ccfe00ca50c7c8931b1d75d8b3bb52 /arch
parent024f5b597564acced9e69305f7a9ef1202186a61 (diff)
downloadlinux-f4d0d40cd1f19104e4f60537973ff5ac2f90123e.tar.bz2
parisc: Avoid external interrupts when IPI finishes
No need to allow external interrupts when the IPI loop is going to finish now. Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/parisc/kernel/smp.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c
index 6271139d2213..10227f667c8a 100644
--- a/arch/parisc/kernel/smp.c
+++ b/arch/parisc/kernel/smp.c
@@ -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;