diff options
Diffstat (limited to 'drivers/char/vt.c')
-rw-r--r-- | drivers/char/vt.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/char/vt.c b/drivers/char/vt.c index 117ce99115dc..4a9eb3044e52 100644 --- a/drivers/char/vt.c +++ b/drivers/char/vt.c | |||
@@ -104,6 +104,7 @@ | |||
104 | #include <linux/io.h> | 104 | #include <linux/io.h> |
105 | #include <asm/system.h> | 105 | #include <asm/system.h> |
106 | #include <linux/uaccess.h> | 106 | #include <linux/uaccess.h> |
107 | #include <linux/kdb.h> | ||
107 | 108 | ||
108 | #define MAX_NR_CON_DRIVER 16 | 109 | #define MAX_NR_CON_DRIVER 16 |
109 | 110 | ||
@@ -3442,6 +3443,22 @@ int con_debug_enter(struct vc_data *vc) | |||
3442 | console_blanked = 0; | 3443 | console_blanked = 0; |
3443 | if (vc->vc_sw->con_debug_enter) | 3444 | if (vc->vc_sw->con_debug_enter) |
3444 | ret = vc->vc_sw->con_debug_enter(vc); | 3445 | ret = vc->vc_sw->con_debug_enter(vc); |
3446 | #ifdef CONFIG_KGDB_KDB | ||
3447 | /* Set the initial LINES variable if it is not already set */ | ||
3448 | if (vc->vc_rows < 999) { | ||
3449 | int linecount; | ||
3450 | char lns[4]; | ||
3451 | const char *setargs[3] = { | ||
3452 | "set", | ||
3453 | "LINES", | ||
3454 | lns, | ||
3455 | }; | ||
3456 | if (kdbgetintenv(setargs[0], &linecount)) { | ||
3457 | snprintf(lns, 4, "%i", vc->vc_rows); | ||
3458 | kdb_set(2, setargs); | ||
3459 | } | ||
3460 | } | ||
3461 | #endif /* CONFIG_KGDB_KDB */ | ||
3445 | return ret; | 3462 | return ret; |
3446 | } | 3463 | } |
3447 | EXPORT_SYMBOL_GPL(con_debug_enter); | 3464 | EXPORT_SYMBOL_GPL(con_debug_enter); |