Re: [PATCH] mdacon messing up default vc's, set default to vc13-16 again
From: Roland
Date: Mon May 05 2008 - 14:51:32 EST
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
or somebody may accidentally link it statically with the kernel.....and have
some fun then....
http://marc.info/?l=linux-kernel&m=112550081223569&w=2
-> http://marc.info/?l=linux-kernel&m=112550983822140&w=2
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 :
>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.
Signed-off-by: Roland Kletzing <devzero@xxxxxx>
--- drivers/video/console/mdacon.c.orig 2008-05-03 15:47:20.000000000
+0200
+++ drivers/video/console/mdacon.c 2008-05-03 15:55:27.000000000
+0200
@@ -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
*/
--
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/