summaryrefslogtreecommitdiff
path: root/drivers/video/console
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-10-19 01:16:06 +0400
committerJeff Garzik <jgarzik@pobox.com>2005-10-19 01:16:06 +0400
commit5a476deff3d17093da39c4eccb2692ba714dcb11 (patch)
tree16f5c745a3c8ac780a218ad3d43e32f33164bcf5 /drivers/video/console
parentdd4efa44ebf2a8a0e5edf60a53eadec981b4b10a (diff)
parent39ca371c45b04cd50d0974030ae051906fc516b6 (diff)
downloadlinux-5a476deff3d17093da39c4eccb2692ba714dcb11.tar.xz
Merge branch 'master'
Diffstat (limited to 'drivers/video/console')
-rw-r--r--drivers/video/console/vgacon.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
index 6ef6f7760e47..809fee2140ac 100644
--- a/drivers/video/console/vgacon.c
+++ b/drivers/video/console/vgacon.c
@@ -565,7 +565,11 @@ static int vgacon_switch(struct vc_data *c)
scr_memcpyw((u16 *) c->vc_origin, (u16 *) c->vc_screenbuf,
c->vc_screenbuf_size > vga_vram_size ?
vga_vram_size : c->vc_screenbuf_size);
- vgacon_doresize(c, c->vc_cols, c->vc_rows);
+ if (!(vga_video_num_columns % 2) &&
+ vga_video_num_columns <= ORIG_VIDEO_COLS &&
+ vga_video_num_lines <= (ORIG_VIDEO_LINES *
+ vga_default_font_height) / c->vc_font.height)
+ vgacon_doresize(c, c->vc_cols, c->vc_rows);
}
return 0; /* Redrawing not needed */
@@ -1023,7 +1027,8 @@ static int vgacon_resize(struct vc_data *c, unsigned int width,
if (width % 2 || width > ORIG_VIDEO_COLS ||
height > (ORIG_VIDEO_LINES * vga_default_font_height)/
c->vc_font.height)
- return -EINVAL;
+ /* let svgatextmode tinker with video timings */
+ return 0;
if (CON_IS_VISIBLE(c) && !vga_is_gfx) /* who knows */
vgacon_doresize(c, width, height);