vt: Delay the update of the visible console
Subsystems (2)
PATCH 6/9 vt: Delay the update of the visible console
From: David Hollister <[email protected]>
This patch delays the update of the visible framebuffer console until all other consoles have been initialized in order to avoid losing information. This only seems to be a problem with modules, not with built-in drivers.
Signed-off-by David Hollister <[email protected]>
Signed-off-by Jordan Crouse <[email protected]>
Signed-off-by Antonino Daplas <[email protected]>
---
drivers/char/vt.c | 26 +++++++++++++++++--------- 1 files changed, 17 insertions(+), 9 deletions(-)
drivers/char/vt.c +17 -9
@@ -2663,7 +2663,7 @@ int __init vty_init(void)int take_over_console (const struct consw *csw,int first,int last,int deflt) { -int i, j =-1 ; +int i, j =-1 , k =-1 ;const char *desc;struct module *owner;
@@ -2699,8 +2699,11 @@ int take_over_console(const struct conswcontinue ; j = i; -if (CON_IS_VISIBLE (vc)) +if (CON_IS_VISIBLE (vc)) { + k = i;save_screen (vc); + } + old_was_color = vc->vc_can_do_color; vc->vc_sw->con_deinit (vc); vc->vc_origin = (unsigned long )vc->vc_screenbuf;
@@ -2716,18 +2719,23 @@ int take_over_console(const struct consw*/ if (old_was_color != vc->vc_can_do_color)clear_buffer_attributes (vc); - -if (CON_IS_VISIBLE (vc)) -update_screen (vc); } +printk ("Console: switching " );if (!deflt)printk ("consoles %d-%d " , first+1 , last+1 ); -if (j >=0 ) +if (j >=0 ) { +struct vc_data *vc = vc_cons[j].d; +printk ("to %s %s %dx%d\n" , - vc_cons[j].d->vc_can_do_color ?"colour" :"mono" , - desc, vc_cons[j].d->vc_cols, vc_cons[j].d->vc_rows); -else + vc->vc_can_do_color ?"colour" :"mono" , + desc, vc->vc_cols, vc->vc_rows); + +if (k >=0 ) { + vc = vc_cons[k].d; +update_screen (vc); + } + }else printk ("to %s\n" , desc);release_console_sem ();
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642