diff options
author | Helge Deller <deller@gmx.de> | 2020-08-14 15:14:12 +0200 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2020-10-15 08:10:37 +0200 |
commit | f4d0d40cd1f19104e4f60537973ff5ac2f90123e (patch) | |
tree | 9cabd2f7f4ccfe00ca50c7c8931b1d75d8b3bb52 /arch/parisc/kernel/smp.c | |
parent | 024f5b597564acced9e69305f7a9ef1202186a61 (diff) | |
download | linux-stable-f4d0d40cd1f19104e4f60537973ff5ac2f90123e.tar.gz linux-stable-f4d0d40cd1f19104e4f60537973ff5ac2f90123e.tar.bz2 linux-stable-f4d0d40cd1f19104e4f60537973ff5ac2f90123e.zip |
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/parisc/kernel/smp.c')
-rw-r--r-- | arch/parisc/kernel/smp.c | 9 |
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; |