kdb: Avoid using dbg_io_ops until it is initialized
authorTim Bird <tim.bird@am.sony.com>
Wed, 21 Sep 2011 20:19:12 +0000 (13:19 -0700)
committerJason Wessel <jason.wessel@windriver.com>
Thu, 22 Mar 2012 20:07:16 +0000 (15:07 -0500)
This fixes a bug with setting a breakpoint during kdb initialization
(from kdb_cmds).  Any call to kdb_printf() before the initialization
of the kgdboc serial console driver (which happens much later during
bootup than kdb_init), results in kernel panic due to the use of
dbg_io_ops before it is initialized.

Signed-off-by: Tim Bird <tim.bird@am.sony.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
kernel/debug/kdb/kdb_io.c

index 4802eb5840e1a138057444fbb7e1a7953a507d96..9b5f17da1c560e65fe945a9ab580f4de87ccb1ac 100644 (file)
@@ -689,7 +689,7 @@ kdb_printit:
        if (!dbg_kdb_mode && kgdb_connected) {
                gdbstub_msg_write(kdb_buffer, retlen);
        } else {
-               if (!dbg_io_ops->is_console) {
+               if (dbg_io_ops && !dbg_io_ops->is_console) {
                        len = strlen(kdb_buffer);
                        cp = kdb_buffer;
                        while (len--) {