OSDN Git Service

fbdev: stifb: Fall back to cfb_fillrect() on 32-bit HCRX cards
authorHelge Deller <deller@gmx.de>
Fri, 14 Oct 2022 18:01:17 +0000 (20:01 +0200)
committerHelge Deller <deller@gmx.de>
Tue, 18 Oct 2022 08:22:28 +0000 (10:22 +0200)
When the text console is scrolling text upwards it calls the fillrect()
function to empty the new line. The current implementation doesn't seem
to work correctly on HCRX cards in 32-bit mode and leave garbage in that
line instead. Fix it by falling back to standard cfb_fillrect() in that
case.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: <stable@vger.kernel.org>
drivers/video/fbdev/stifb.c

index 7753e58..3feb6e4 100644 (file)
@@ -1055,7 +1055,8 @@ stifb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
 {
        struct stifb_info *fb = container_of(info, struct stifb_info, info);
 
-       if (rect->rop != ROP_COPY)
+       if (rect->rop != ROP_COPY ||
+           (fb->id == S9000_ID_HCRX && fb->info.var.bits_per_pixel == 32))
                return cfb_fillrect(info, rect);
 
        SETUP_HW(fb);