--- /dev/null
+From stable-bounces@linux.kernel.org Sun Jan 8 01:06:28 2006
+Message-Id: <200601080902.k0892jZm015005@shell0.pdx.osdl.net>
+To: torvalds@osdl.org
+From: akpm@osdl.org
+Cc: samuel.thibault@ens-lyon.org, dravet@hotmail.com, stable@kernel.org
+Subject: [PATCH] vgacon: fix doublescan mode
+
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+When doublescan mode is in use, scanlines must be doubled.
+
+Thanks to Jason Dravet <dravet@hotmail.com> for reporting and testing.
+
+Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Cc: <stable@kernel.org>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+ drivers/video/console/vgacon.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+--- linux-2.6.15.y.orig/drivers/video/console/vgacon.c
++++ linux-2.6.15.y/drivers/video/console/vgacon.c
+@@ -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);
+