+
+ /*
+ * Spin to get kprintf lock but re-enable interrupts while failing.
+ * This allows interrupts to be handled while waiting but
+ * interrupts are disabled once we have the lock.
+ */
+ state = ml_set_interrupts_enabled(FALSE);
+ while (!simple_lock_try(&kprintf_lock)) {
+ ml_set_interrupts_enabled(state);
+ ml_set_interrupts_enabled(FALSE);
+ }