[Fair warning: This is pure conjecture right now.] In
commit b8e2b0199cc377617dc238f5106352c06dcd3fa2 Author: Peter Rosin <p...@axentia.se> Date: Tue Jul 4 12:36:57 2017 +0200 drm/fb-helper: factor out pseudo-palette Peter extracted the pseudo palette computation, but seems to have done an off-by-one. I spotted that +1, but then noticed that we've passed start++ to (now gone) setcolreg function, so it seemed to all match up. Except post vs. pre-increment ftw. Result is that the palette is off-by-one, and the forground color (slot 0) ends up black, rendering a fairly unreadable console. What baffles me is that on some systems it still seems to work somehow, which lead us all down a wild goose chase trying to add load_lut calls back in in various places (which was also intentionally removed, but really doesn't seem to be the real root cause). Fixes: b8e2b0199cc3 ("drm/fb-helper: factor out pseudo-palette") Cc: Peter Rosin <p...@axenita.se> Cc: Daniel Vetter <daniel.vet...@ffwll.ch> Cc: Daniel Vetter <daniel.vet...@intel.com> Cc: Gustavo Padovan <gust...@padovan.org> Cc: Sean Paul <seanp...@chromium.org> Cc: David Airlie <airl...@linux.ie> Cc: dri-devel@lists.freedesktop.org Cc: <sta...@vger.kernel.org> # v4.14+ Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=198123 Reported-by: Deposite Pirate <dpir...@metalpunks.info> Reported-by: Bill Fraser <bill.fra...@gmail.com> Cc: Deposite Pirate <dpir...@metalpunks.info> Cc: Bill Fraser <bill.fra...@gmail.com> Cc: Michel Dänzer <mic...@daenzer.net> Signed-off-by: Daniel Vetter <daniel.vet...@intel.com> --- drivers/gpu/drm/drm_fb_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index 035784ddd133..1c3a200c4a10 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c @@ -1295,7 +1295,7 @@ static int setcmap_pseudo_palette(struct fb_cmap *cmap, struct fb_info *info) mask <<= info->var.transp.offset; value |= mask; } - palette[cmap->start + i] = value; + palette[cmap->start] = value; } return 0; -- 2.15.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel