|
From: James S. <jsi...@us...> - 2001-11-13 19:38:25
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char
In directory usw-pr-cvs1:/tmp/cvs-serv3798/drivers/char
Modified Files:
Config.in Makefile misc.c tty_io.c vt_ioctl.c
Log Message:
Synced to 2.4.14
Index: Config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Config.in,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- Config.in 2001/11/02 00:57:43 1.29
+++ Config.in 2001/11/13 19:38:22 1.30
@@ -202,6 +202,8 @@
source drivers/char/pcmcia/Config.in
fi
-tristate 'ACP Modem (Mwave) support' CONFIG_MWAVE
+if [ "$CONFIG_X86" = "y" ]; then
+ tristate 'ACP Modem (Mwave) support' CONFIG_MWAVE
+fi
endmenu
Index: Makefile
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Makefile,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- Makefile 2001/11/02 00:57:43 1.30
+++ Makefile 2001/11/13 19:38:22 1.31
@@ -85,6 +85,7 @@
obj-$(CONFIG_NVRAM) += nvram.o
endif
obj-$(CONFIG_TOSHIBA) += toshiba.o
+obj-$(CONFIG_I8K) += i8k.o
obj-$(CONFIG_DS1620) += ds1620.o
obj-$(CONFIG_INTEL_RNG) += i810_rng.o
Index: misc.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/misc.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- misc.c 2001/11/02 00:57:43 1.15
+++ misc.c 2001/11/13 19:38:22 1.16
@@ -71,6 +71,7 @@
extern int ds1286_init(void);
extern int pmu_device_init(void);
extern int tosh_init(void);
+extern int i8k_init(void);
static int misc_read_proc(char *buf, char **start, off_t offset,
int len, int *eof, void *private)
@@ -271,6 +272,9 @@
#endif
#ifdef CONFIG_TOSHIBA
tosh_init();
+#endif
+#ifdef CONFIG_I8K
+ i8k_init();
#endif
if (devfs_register_chrdev(MISC_MAJOR,"misc",&misc_fops)) {
printk("unable to get major %d for misc devices\n",
Index: tty_io.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/tty_io.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- tty_io.c 2001/10/06 16:11:13 1.36
+++ tty_io.c 2001/11/13 19:38:22 1.37
@@ -2342,9 +2342,6 @@
#ifdef CONFIG_SERIAL_TX3912
tx3912_rs_init();
#endif
-#ifdef CONFIG_COMPUTONE
- ip2_init();
-#endif
#ifdef CONFIG_ROCKETPORT
rp_init();
#endif
Index: vt_ioctl.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/vt_ioctl.c,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- vt_ioctl.c 2001/10/17 17:00:13 1.62
+++ vt_ioctl.c 2001/11/13 19:38:22 1.63
@@ -1455,6 +1455,23 @@
switch_screen(new_vc, old_vc);
/*
+ * This can't appear below a successful kill_proc(). If it did,
+ * then the *blank_screen operation could occur while X, having
+ * received acqsig, is waking up on another processor. This
+ * condition can lead to overlapping accesses to the VGA range
+ * and the framebuffer (causing system lockups).
+ *
+ * To account for this we duplicate this code below only if the
+ * controlling process is gone and we've called reset_vc.
+ */
+ if (old_vc_mode != new_vc->vc_mode) {
+ if (new_vc->vc_mode == KD_TEXT)
+ unblank_screen(new_vc->display_fg);
+ else
+ do_blank_screen(new_vc);
+ }
+
+ /*
* If this new console is under process control, send it a signal
* telling it that it has acquired. Also check if it has died and
* clean up (similar to logic employed in change_console())
@@ -1475,19 +1492,12 @@
* this outside of VT_PROCESS but there is no single process
* to account for and tracking tty count may be undesirable.
*/
- reset_vc(new_vc);
+ if (old_vc_mode != new_vc->vc_mode) {
+ if (new_vc->vc_mode == KD_TEXT)
+ unblank_screen(new_vc->display_fg);
+ else
+ do_blank_screen(new_vc);
}
- }
-
- /*
- * We do this here because the controlling process above may have
- * gone, and so there is now a new vc_mode
- */
- if (old_vc_mode != new_vc->vc_mode) {
- if (new_vc->vc_mode == KD_TEXT) {
- unblank_screen(new_vc->display_fg);
- } else
- do_blank_screen(new_vc);
}
/*
|