summaryrefslogtreecommitdiff
path: root/kernel/printk/printk.c
diff options
context:
space:
mode:
authorPetr Mladek <pmladek@suse.com>2017-07-03 15:33:39 +0200
committerPetr Mladek <pmladek@suse.com>2017-07-03 15:33:39 +0200
commita5707eef798b57ff5a2e56fca435dff616019b7e (patch)
treee0cbe9116abf9a87bd257e37079d175c91a50ae3 /kernel/printk/printk.c
parentdc0cf5a77db9d200284f54a60994c1f6d2fbfc5f (diff)
parentf4e981cba2dec675d40ac4f270b7e8ac164c9004 (diff)
Merge branch 'for-4.13' into for-linus
Diffstat (limited to 'kernel/printk/printk.c')
-rw-r--r--kernel/printk/printk.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index a1db38abac5b..8603a48fcdea 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -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.
*