From: Malcom Parsons <malcolm.parsons@gmail.com>
Date: Thu, 8 Jun 2006 07:43:42 +0000 (-0700)
Subject: [PATCH] fbcon: fix limited scroll in SCROLL_PAN_REDRAW mode
X-Git-Tag: firefly_0821_release~35535
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=26e780e8ef1cc3ef581a07aafe2346bb5a07b4f9;p=firefly-linux-kernel-4.4.55.git

[PATCH] fbcon: fix limited scroll in SCROLL_PAN_REDRAW mode

From: Malcom Parsons <malcolm.parsons@gmail.com>

When scrolling up in SCROLL_PAN_REDRAW mode with a large limited scroll
region, the bottom few lines have to be redrawn.  Without this patch, the
wrong text is drawn into these lines, corrupting the display.

Observed in 2.6.14 when running an IRC client in the Nintendo DS linux
port.

I haven't tested if scrolling down has the same problem.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---

diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index 953eb8c171d6..47ba1a79adcd 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -1745,7 +1745,7 @@ static int fbcon_scroll(struct vc_data *vc, int t, int b, int dir,
 					fbcon_redraw_move(vc, p, 0, t, count);
 				ypan_up_redraw(vc, t, count);
 				if (vc->vc_rows - b > 0)
-					fbcon_redraw_move(vc, p, b - count,
+					fbcon_redraw_move(vc, p, b,
 							  vc->vc_rows - b, b);
 			} else
 				fbcon_redraw_move(vc, p, t + count, b - t - count, t);