aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/console/fbcon.c
diff options
context:
space:
mode:
authorGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>2007-05-08 03:37:53 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 14:15:27 -0400
commit250038f5a7207796fb54aff3dc686d664659cf0c (patch)
tree13b0ff75f25f4e1d8f5769e23dc1bac28fe11ba3 /drivers/video/console/fbcon.c
parent538c79248c0dc1a4a37d92254a571bd62f6eb7f2 (diff)
fbdev: avoid vertical overflow when making space for the logo
fbcon_prepare_logo(): Avoid vertical overflow when making space for the logo Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Acked-By: James Simmons <jsimmons@infradead.org> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/console/fbcon.c')
-rw-r--r--drivers/video/console/fbcon.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index 0429fd2cece0..bd131d472e24 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -618,8 +618,13 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
618 r -= cols; 618 r -= cols;
619 } 619 }
620 if (!save) { 620 if (!save) {
621 vc->vc_y += logo_lines; 621 int lines;
622 vc->vc_pos += logo_lines * vc->vc_size_row; 622 if (vc->vc_y + logo_lines >= rows)
623 lines = rows - vc->vc_y - 1;
624 else
625 lines = logo_lines;
626 vc->vc_y += lines;
627 vc->vc_pos += lines * vc->vc_size_row;
623 } 628 }
624 } 629 }
625 scr_memsetw((unsigned short *) vc->vc_origin, 630 scr_memsetw((unsigned short *) vc->vc_origin,