powerpc: Fix lockdep IRQ tracing bug
A small bogon sneaked into the ppc64 lockdep support. A test is branching slightly off causing a clobbered register value to overwrite the irq state under some circumstances. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
9acd57ca74
commit
22b8f9ee4a
|
@ -20,7 +20,7 @@
|
|||
#define TRACE_ENABLE_INTS bl .trace_hardirqs_on
|
||||
#define TRACE_DISABLE_INTS bl .trace_hardirqs_off
|
||||
#define TRACE_AND_RESTORE_IRQ_PARTIAL(en,skip) \
|
||||
cmpdi en, 0; \
|
||||
cmpdi en,0; \
|
||||
bne 95f; \
|
||||
stb en,PACASOFTIRQEN(r13); \
|
||||
bl .trace_hardirqs_off; \
|
||||
|
@ -29,7 +29,8 @@
|
|||
li en,1;
|
||||
#define TRACE_AND_RESTORE_IRQ(en) \
|
||||
TRACE_AND_RESTORE_IRQ_PARTIAL(en,96f); \
|
||||
96: stb en,PACASOFTIRQEN(r13)
|
||||
stb en,PACASOFTIRQEN(r13); \
|
||||
96:
|
||||
#else
|
||||
#define TRACE_ENABLE_INTS
|
||||
#define TRACE_DISABLE_INTS
|
||||
|
|
Loading…
Reference in a new issue