diff options
Diffstat (limited to 'drivers/video/console/vgacon.c')
-rw-r--r-- | drivers/video/console/vgacon.c | 8 |
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 | ||