aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/console/vgacon.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/console/vgacon.c')
-rw-r--r--drivers/video/console/vgacon.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
index 167de397e4b4..f4e1c4b4191e 100644
--- a/drivers/video/console/vgacon.c
+++ b/drivers/video/console/vgacon.c
@@ -503,10 +503,16 @@ static int vgacon_doresize(struct vc_data *c,
503{ 503{
504 unsigned long flags; 504 unsigned long flags;
505 unsigned int scanlines = height * c->vc_font.height; 505 unsigned int scanlines = height * c->vc_font.height;
506 u8 scanlines_lo, r7, vsync_end, mode; 506 u8 scanlines_lo, r7, vsync_end, mode, max_scan;
507 507
508 spin_lock_irqsave(&vga_lock, flags); 508 spin_lock_irqsave(&vga_lock, flags);
509 509
510 outb_p(VGA_CRTC_MAX_SCAN, vga_video_port_reg);
511 max_scan = inb_p(vga_video_port_val);
512
513 if (max_scan & 0x80)
514 scanlines <<= 1;
515
510 outb_p(VGA_CRTC_MODE, vga_video_port_reg); 516 outb_p(VGA_CRTC_MODE, vga_video_port_reg);
511 mode = inb_p(vga_video_port_val); 517 mode = inb_p(vga_video_port_val);
512 518