diff --git a/src/system/kernel/debug/debug.c b/src/system/kernel/debug/debug.c index 092f4aa239..aa1acc59a1 100644 --- a/src/system/kernel/debug/debug.c +++ b/src/system/kernel/debug/debug.c @@ -855,8 +855,6 @@ panic(const char *format, ...) { va_list args; char temp[128]; - - set_dprintf_enabled(true); va_start(args, format); vsnprintf(temp, sizeof(temp), format, args); @@ -870,9 +868,10 @@ void kernel_debugger(const char *message) { cpu_status state; + bool dprintfState; arch_debug_save_registers(&dbg_register_file[smp_get_current_cpu()][0]); - set_dprintf_enabled(true); + dprintfState = set_dprintf_enabled(true); state = disable_interrupts(); @@ -894,6 +893,8 @@ kernel_debugger(const char *message) kernel_debugger_loop(); + set_dprintf_enabled(dprintfState); + sBlueScreenEnabled = false; restore_interrupts(state);