OSDN Git Service
(root)
/
uclinux-h8
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6bed323
)
powerpc: hard disable irqs in smp_send_stop loop
author
Nicholas Piggin
<npiggin@gmail.com>
Sun, 1 Apr 2018 10:36:14 +0000
(20:36 +1000)
committer
Michael Ellerman
<mpe@ellerman.id.au>
Tue, 3 Apr 2018 12:59:10 +0000
(22:59 +1000)
The hard lockup watchdog can fire under local_irq_disable
on platforms with irq soft masking.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/smp.c
patch
|
blob
|
history
diff --git
a/arch/powerpc/kernel/smp.c
b/arch/powerpc/kernel/smp.c
index
db88660
..
e16ec7b
100644
(file)
--- a/
arch/powerpc/kernel/smp.c
+++ b/
arch/powerpc/kernel/smp.c
@@
-574,9
+574,10
@@
static void stop_this_cpu(void *dummy)
/* Remove this CPU */
set_cpu_online(smp_processor_id(), false);
- local_irq_disable();
+ hard_irq_disable();
+ spin_begin();
while (1)
- ;
+
spin_cpu_relax()
;
}
void smp_send_stop(void)