The ipipe tracer was broken when CONFIG_IPIPE_TRACE_IRQSOFF was
enabled. The reason was that in local_irq_restore_hw(flags)
native irqs were not enabled again.

Signed-off-by: Sebastian Smolorz <[email protected]>
---
 arch/x86/include/asm/irqflags.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/include/asm/irqflags.h 
b/arch/x86/include/asm/irqflags.h
index ddfd8cc..6e316c0 100644
--- a/arch/x86/include/asm/irqflags.h
+++ b/arch/x86/include/asm/irqflags.h
@@ -283,7 +283,7 @@ static inline int irqs_disabled_hw(void)
 #define local_irq_restore_hw(flags) do {               \
                if ((flags) & X86_EFLAGS_IF)            \
                        ipipe_trace_end(0x80000001);    \
-               native_irq_disable();                   \
+               native_restore_fl(flags);               \
        } while (0)
 
 #else /* !CONFIG_IPIPE_TRACE_IRQSOFF */
-- 
1.5.2.4


_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main

Reply via email to