summaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel
diff options
context:
space:
mode:
authorSven Schnelle <svens@stackframe.org>2021-10-09 20:24:38 +0200
committerHelge Deller <deller@gmx.de>2021-10-30 23:11:01 +0200
commit1c2fb946cdb784b2f64e12b54f1e93685167049c (patch)
tree96611984e3ad73ebfb20c5a31472df90b9145776 /arch/parisc/kernel
parentparisc: fix preempt_count() check in entry.S (diff)
downloadlinux-1c2fb946cdb784b2f64e12b54f1e93685167049c.tar.xz
linux-1c2fb946cdb784b2f64e12b54f1e93685167049c.zip
parisc: disable preemption in send_IPI_allbutself()
Otherwise we might not stop all other CPUs. Signed-off-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'arch/parisc/kernel')
-rw-r--r--arch/parisc/kernel/smp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c
index 1405b603b91b..3413e6949c87 100644
--- a/arch/parisc/kernel/smp.c
+++ b/arch/parisc/kernel/smp.c
@@ -219,11 +219,13 @@ static inline void
send_IPI_allbutself(enum ipi_message_type op)
{
int i;
-
+
+ preempt_disable();
for_each_online_cpu(i) {
if (i != smp_processor_id())
send_IPI_single(i, op);
}
+ preempt_enable();
}