Fix alt- -> console switching

From: Pavel Machek
Date: Tue Nov 04 2003 - 11:31:20 EST


Hi!

Take vesafb, do cat /etc/termcap, while it is printing press alt and
right arrow twice. Oops, it only goes one console to the right.

Problem is that if console is already being switched and you press
alt- ->, fg_console is still old one and second alt- -> is basically
lost. Here's a fix.
Pavel


--- tmp/linux/drivers/char/keyboard.c 2003-11-04 17:13:00.000000000 +0100
+++ linux/drivers/char/keyboard.c 2003-11-04 17:08:57.000000000 +0100
@@ -528,8 +528,12 @@
static void fn_inc_console(struct vc_data *vc, struct pt_regs *regs)
{
int i;
+ int cur = fg_console;

- for (i = fg_console+1; i != fg_console; i++) {
+ if (want_console != -1)
+ cur = want_console;
+
+ for (i = cur+1; i != cur; i++) {
if (i == MAX_NR_CONSOLES)
i = 0;
if (vc_cons_allocated(i))

--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/