Index: kernel/generic/src/printf/vprintf.c
===================================================================
--- kernel/generic/src/printf/vprintf.c	(revision d99c1d2ba8c7b2c687d430f2e9fd237046606545)
+++ kernel/generic/src/printf/vprintf.c	(revision 746f623361c59a51651a1cf1c8af79224327a26a)
@@ -42,5 +42,5 @@
 #include <str.h>
 
-SPINLOCK_STATIC_INITIALIZE_NAME(printf_lock, "*printf_lock");
+IRQ_SPINLOCK_STATIC_INITIALIZE_NAME(printf_lock, "*printf_lock");
 
 static int vprintf_str_write(const char *str, size_t size, void *data)
@@ -93,11 +93,7 @@
 	};
 	
-	ipl_t ipl = interrupts_disable();
-	spinlock_lock(&printf_lock);
-	
+	irq_spinlock_lock(&printf_lock, true);
 	int ret = printf_core(fmt, &ps, ap);
-	
-	spinlock_unlock(&printf_lock);
-	interrupts_restore(ipl);
+	irq_spinlock_unlock(&printf_lock, true);
 	
 	return ret;
