For some unknown reason, yres_virtual was 2x larger the the size specified by i915 and so when blit_clear_margins() tried to clear the full virtual right-hand margin it tried to write far beyond the end of the buffer. This limits the clear to only the visible portion of the right-hand margin, similar to how the bottom margin is treated. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38138 Cc: Florian Tobias Schandinat <FlorianSchandinat@xxxxxx> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- drivers/video/console/bitblit.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/console/bitblit.c b/drivers/video/console/bitblit.c index 28b1a83..9f89e5a 100644 --- a/drivers/video/console/bitblit.c +++ b/drivers/video/console/bitblit.c @@ -219,9 +219,9 @@ static void bit_clear_margins(struct vc_data *vc, struct fb_info *info, if (rw && !bottom_only) { region.dx = info->var.xoffset + rs; - region.dy = 0; + region.dy = info->var.yoffset; region.width = rw; - region.height = info->var.yres_virtual; + region.height = info->var.yres; info->fbops->fb_fillrect(info, ®ion); } -- 1.7.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html