projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c8c01da
)
riscv: Trace irq on only interrupt is enabled
author
Atish Patra
<atish.patra@wdc.com>
Sat, 19 Dec 2020 00:20:51 +0000
(16:20 -0800)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Tue, 19 Jan 2021 17:27:33 +0000
(18:27 +0100)
commit
7cd1af107a92eb63b93a96dc07406dcbc5269436
upstream.
We should call irq trace only if interrupt is going to be enabled during
excecption handling. Otherwise, it results in following warning during
boot with lock debugging enabled.
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] DEBUG_LOCKS_WARN_ON(early_boot_irqs_disabled)
[ 0.000000] WARNING: CPU: 0 PID: 0 at kernel/locking/lockdep.c:4085 lockdep_hardirqs_on_prepare+0x22a/0x22e
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted
5.10.0-00022-ge20097fb37e2
-dirty #548
[ 0.000000] epc:
c005d5d4
ra :
c005d5d4
sp :
c1c01e80
[ 0.000000] gp :
c1d456e0
tp :
c1c0a980
t0 :
00000000
[ 0.000000] t1 :
ffffffff
t2 :
00000000
s0 :
c1c01ea0
[ 0.000000] s1 :
c100f360
a0 :
0000002d
a1 :
c00666ee
[ 0.000000] a2 :
00000000
a3 :
00000000
a4 :
00000000
[ 0.000000] a5 :
00000000
a6 :
c1c6b390
a7 :
3ffff00e
[ 0.000000] s2 :
c2384fe8
s3 :
00000000
s4 :
00000001
[ 0.000000] s5 :
c1c0a980
s6 :
c1d48000
s7 :
c1613b4c
[ 0.000000] s8 :
00000fff
s9 :
80000200
s10:
c1613b40
[ 0.000000] s11:
00000000
t3 :
00000000
t4 :
00000000
[ 0.000000] t5 :
00000001
t6 :
00000000
Fixes: 3c4697982982 ("riscv:Enable LOCKDEP_SUPPORT & fixup TRACE_IRQFLAGS_SUPPORT")
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/riscv/kernel/entry.S
patch
|
blob
|
history
diff --git
a/arch/riscv/kernel/entry.S
b/arch/riscv/kernel/entry.S
index d07763001eb0c211408ad381baf3d198b2232398..835e45bb59c40e9404f48d10d30d8331516dded5 100644
(file)
--- a/
arch/riscv/kernel/entry.S
+++ b/
arch/riscv/kernel/entry.S
@@
-124,15
+124,15
@@
skip_context_tracking:
REG_L a1, (a1)
jr a1
1:
-#ifdef CONFIG_TRACE_IRQFLAGS
- call trace_hardirqs_on
-#endif
/*
* Exceptions run with interrupts enabled or disabled depending on the
* state of SR_PIE in m/sstatus.
*/
andi t0, s1, SR_PIE
beqz t0, 1f
+#ifdef CONFIG_TRACE_IRQFLAGS
+ call trace_hardirqs_on
+#endif
csrs CSR_STATUS, SR_IE
1: