summaryrefslogtreecommitdiffstats
path: root/drivers/video/console
diff options
context:
space:
mode:
authorAnton Altaparmakov <aia21@cantab.net>2005-10-19 12:13:58 +0100
committerAnton Altaparmakov <aia21@cantab.net>2005-10-19 12:13:58 +0100
commite087a412b45543a87497f0a213dbd5d55099f267 (patch)
tree8892cc84dbee2b4387c9f2604a7892b6ef3aab25 /drivers/video/console
parent7946ada30bc45546cefc85809ba0fd07879eff52 (diff)
parentbb7e257ef8d8ba43cab356aa1cc1b20d0106d45f (diff)
downloadlinux-e087a412b45543a87497f0a213dbd5d55099f267.tar.gz
linux-e087a412b45543a87497f0a213dbd5d55099f267.tar.bz2
linux-e087a412b45543a87497f0a213dbd5d55099f267.zip
Merge branch 'master' of /usr/src/ntfs-2.6/
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);