diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2007-02-12 00:54:53 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 09:48:41 -0800 |
commit | 36f71405e63f3d1e4c2a8dd98523820bbca8e078 (patch) | |
tree | 10037edbfbdc7246cdc8038735de6fa624f7ae39 /drivers/video | |
parent | ee9a25e5df81f4392439055c28989dfd4b18d894 (diff) |
[PATCH] tgafb: fix copying overlapping areas
The direction of copying in the copyarea functions is selected incorrectly,
resulting in corruption. This is a fix.
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: 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')
-rw-r--r-- | drivers/video/tgafb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/video/tgafb.c b/drivers/video/tgafb.c index 0a00a6cc7c2..9c23a783e71 100644 --- a/drivers/video/tgafb.c +++ b/drivers/video/tgafb.c @@ -885,7 +885,7 @@ copyarea_line_8bpp(struct fb_info *info, u32 dy, u32 sy, n64 = (height * width) / 64; - if (dy < sy) { + if (sy < dy) { spos = (sy + height) * width; dpos = (dy + height) * width; @@ -933,7 +933,7 @@ copyarea_line_32bpp(struct fb_info *info, u32 dy, u32 sy, n16 = (height * width) / 16; - if (dy < sy) { + if (sy < dy) { src = tga_fb + (sy + height) * width * 4; dst = tga_fb + (dy + height) * width * 4; |