diff --git a/kernel/context_tracking.c b/kernel/context_tracking.c index 9ad37b9e44a7034d887fe1eda6650070490ee2d5..b123fad0a5627430963652863df98e36e4f5d740 100644 --- a/kernel/context_tracking.c +++ b/kernel/context_tracking.c @@ -113,7 +113,7 @@ void context_tracking_enter(enum ctx_state state) * helpers are enough to protect RCU uses inside the exception. So * just return immediately if we detect we are in an IRQ. */ - if (in_interrupt()) + if (!ipipe_root_p || in_interrupt()) return; local_irq_save(flags); @@ -169,7 +169,7 @@ void context_tracking_exit(enum ctx_state state) { unsigned long flags; - if (in_interrupt()) + if (!ipipe_root_p || in_interrupt()) return; local_irq_save(flags);