From: Samuel Thibault When doublescan mode is in use, scanlines must be doubled. Thanks to Jason Dravet for reporting and testing. Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton --- drivers/video/console/vgacon.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletion(-) diff -puN drivers/video/console/vgacon.c~vgacon-fix-doublescan-mode drivers/video/console/vgacon.c --- devel/drivers/video/console/vgacon.c~vgacon-fix-doublescan-mode 2005-11-16 18:34:47.000000000 -0800 +++ devel-akpm/drivers/video/console/vgacon.c 2005-11-16 18:34:47.000000000 -0800 @@ -503,10 +503,16 @@ static int vgacon_doresize(struct vc_dat { unsigned long flags; unsigned int scanlines = height * c->vc_font.height; - u8 scanlines_lo, r7, vsync_end, mode; + u8 scanlines_lo, r7, vsync_end, mode, max_scan; spin_lock_irqsave(&vga_lock, flags); + outb_p(VGA_CRTC_MAX_SCAN, vga_video_port_reg); + max_scan = inb_p(vga_video_port_val); + + if (max_scan & 0x80) + scanlines <<= 1; + outb_p(VGA_CRTC_MODE, vga_video_port_reg); mode = inb_p(vga_video_port_val); _