Merge branch 'for-4.13' into for-linus
[linux-2.6-microblaze.git] / kernel / printk / printk.c
index a1db38a..8603a48 100644 (file)
@@ -2720,16 +2720,13 @@ void wake_up_klogd(void)
        preempt_enable();
 }
 
-int printk_deferred(const char *fmt, ...)
+int vprintk_deferred(const char *fmt, va_list args)
 {
-       va_list args;
        int r;
 
-       preempt_disable();
-       va_start(args, fmt);
        r = vprintk_emit(0, LOGLEVEL_SCHED, NULL, 0, fmt, args);
-       va_end(args);
 
+       preempt_disable();
        __this_cpu_or(printk_pending, PRINTK_PENDING_OUTPUT);
        irq_work_queue(this_cpu_ptr(&wake_up_klogd_work));
        preempt_enable();
@@ -2737,6 +2734,18 @@ int printk_deferred(const char *fmt, ...)
        return r;
 }
 
+int printk_deferred(const char *fmt, ...)
+{
+       va_list args;
+       int r;
+
+       va_start(args, fmt);
+       r = vprintk_deferred(fmt, args);
+       va_end(args);
+
+       return r;
+}
+
 /*
  * printk rate limiting, lifted from the networking subsystem.
  *