Skip to contentSkip to conversation

mdacon messing up default vc's, set default to vc13-16 again

PATCH New [email protected] 1 participant 1 message May 3, 2008 Framebuffer layer

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mdacon messing up default vc's, set default to vc13-16 again

mdacon incorrectly detects MDA hardware on systems without such graphics card.

one may load this module by chance, for example when doing some systematical module-testing, and if there is no Monochrome Display Adapter attached , module init renders vc1-16 completely unusable.

me and others have run into this more than once. see [Bug 224522 - modprobe mdacon freezes machine -> https://bugzilla.novell.com/show_bug.cgi?id=224522 ] for example

apparently, proper MDA detection seems to be broken for a long time - seems to be related to those #ifdef TEST_MDA_B statements added by Edward Betts.

this commit back in 2002 made things even worse :
http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=c72757b49c88914433244757fb4967fc63546685

it changed default vc allocation from 13-16 to 1-16 for no apparent reason (!?) , and with that (and without X), mdacon grabs the vc you`re currently sitting on and locks you out.

this is from Kconfig :

Quoted 9 lines

config MDA_CONSOLE
depends on !M68K && !PARISC && ISA
tristate "MDA text console (dual-headed) (EXPERIMENTAL)" ---help---
Say Y here if you have an old MDA or monochrome Hercules graphics adapter in your system acting as a second head ( = video card). You will then be able to use two monitors with your Linux system. Do not say Y here if your MDA card is the primary card in your system; the normal VGA driver will handle it.

As we can see mdacon is just meant as an additional driver for dual-head setup, and since kernel 2.4.36 still defaults to vc13-16 , setting the default back to that value again shouldn`t do any harm.

hereby i`m reverting that change, setting default back to to vc13-16 again.

Besides the fact that mdacon may be rarely or never be used these days and could perhaps put to trash anyway (pre-dinosaur hardware!), indeed this is not a real solution, but at least it removes the unfortunate side-effect of messing up the vc you`re working on.

video/console/mdacon.c 2008-05-03 15:55:27.000000000 +0200 renamed from video/console/mdacon.c.orig 2008-05-03 15:47:20.000000000 +0200 +3 -1
@@ -71,13 +71,15 @@
 
 /* console information */
 
-static int     mda_first_vc = 1;
+static int     mda_first_vc = 13;
 static int     mda_last_vc  = 16;
 
 static struct vc_data  *mda_display_fg = NULL;
 
 module_param(mda_first_vc, int, 0);
+MODULE_PARM_DESC(mda_first_vc, "First virtual console. Default: 13");
 module_param(mda_last_vc, int, 0);
+MODULE_PARM_DESC(mda_last_vc, "Last virtual console. Default: 16");
 
 /* MDA register values
  */

_______________________________________________________________________
EINE FÜR ALLE: die kostenlose WEB.DE-Plattform für Freunde und Deine Homepage mit eigenem Namen. Jetzt starten! http://unddu.de/?kid=kid@mf2