From db487fdcd349a36ca068ed25f3f1de1c4265d14e Mon Sep 17 00:00:00 2001 From: Matheus Date: Sun, 23 Apr 2023 15:46:26 -0300 Subject: [PATCH] interrupt: reorder intstatus set on isr --- kernel-src/sys/interrupt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel-src/sys/interrupt.c b/kernel-src/sys/interrupt.c index fbe57dc2..0ea5288d 100644 --- a/kernel-src/sys/interrupt.c +++ b/kernel-src/sys/interrupt.c @@ -16,8 +16,9 @@ void interrupt_isr(int vec, context_t *ctx) { isr->func(isr, ctx); interrupt_set(false); - _cpu()->intstatus = oldint; interrupt_setipl(oldipl); + // restore status on cpu_t struct directly + _cpu()->intstatus = oldint; } else { isr->pending = true; }