]> rtime.felk.cvut.cz Git - zynq/linux.git/blobdiff - kernel/debug/kdb/kdb_io.c
Apply preempt_rt patch-4.9-rt1.patch.xz
[zynq/linux.git] / kernel / debug / kdb / kdb_io.c
index fc1ef736253c79954686d018a2deca4c86300fa6..83c666537a7a2b29d6edc5658d52f7c043e4c63b 100644 (file)
@@ -554,7 +554,6 @@ int vkdb_printf(enum kdb_msgsrc src, const char *fmt, va_list ap)
        int linecount;
        int colcount;
        int logging, saved_loglevel = 0;
-       int saved_trap_printk;
        int got_printf_lock = 0;
        int retlen = 0;
        int fnd, len;
@@ -565,8 +564,6 @@ int vkdb_printf(enum kdb_msgsrc src, const char *fmt, va_list ap)
        unsigned long uninitialized_var(flags);
 
        preempt_disable();
-       saved_trap_printk = kdb_trap_printk;
-       kdb_trap_printk = 0;
 
        /* Serialize kdb_printf if multiple cpus try to write at once.
         * But if any cpu goes recursive in kdb, just print the output,
@@ -855,7 +852,6 @@ kdb_print_out:
        } else {
                __release(kdb_printf_lock);
        }
-       kdb_trap_printk = saved_trap_printk;
        preempt_enable();
        return retlen;
 }
@@ -865,9 +861,11 @@ int kdb_printf(const char *fmt, ...)
        va_list ap;
        int r;
 
+       kdb_trap_printk++;
        va_start(ap, fmt);
        r = vkdb_printf(KDB_MSGSRC_INTERNAL, fmt, ap);
        va_end(ap);
+       kdb_trap_printk--;
 
        return r;
 }