When the logo is currently drawn on a virtual console, and the console loglevel is reduced to quiet, logo_shown must be left alone, so that it the scrolling region on that virtual console is properly reset. Fixes: 10993504d647 ("fbcon: Silence fbcon logo on 'quiet' boots") Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx> --- On Apr 02 2019, Prarit Bhargava <prarit@xxxxxxxxxx> wrote: > On 4/1/19 3:31 PM, Andreas Schwab wrote: >> On Jan 29 2019, Prarit Bhargava <prarit@xxxxxxxxxx> wrote: >> >>> @@ -1066,6 +1069,9 @@ static void fbcon_init(struct vc_data *vc, int init) >>> >>> cap = info->flags; >>> >>> + if (console_loglevel <= CONSOLE_LOGLEVEL_QUIET) >>> + logo_shown = FBCON_LOGO_DONTSHOW; >>> + >>> if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW || >>> (info->fix.type == FB_TYPE_TEXT)) >>> logo = 0; >> >> This causes the scroll region to no longer be reset when the logo is >> removed. >> > > Andreas, my apologies but I'm not sure what you mean. Could you elaborate on > the broken and expected behaviour? [ 3.204286] fbcon_init: logo_shown = -1, console_loglevel = 7 [ 11.840899] fbcon_init: logo_shown = 0, console_loglevel = 1 [ 35.344877] fbcon_init: logo_shown = -3, console_loglevel = 1 [ 35.345274] fbcon_init: logo_shown = -3, console_loglevel = 1 [ 35.345622] fbcon_init: logo_shown = -3, console_loglevel = 1 [ 35.345974] fbcon_init: logo_shown = -3, console_loglevel = 1 [ 35.346375] fbcon_init: logo_shown = -3, console_loglevel = 1 logo_shown must not be reset when non-negative. Andreas. --- drivers/video/fbdev/core/fbcon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c index cd059a801662..786f9aab55df 100644 --- a/drivers/video/fbdev/core/fbcon.c +++ b/drivers/video/fbdev/core/fbcon.c @@ -1069,7 +1069,7 @@ static void fbcon_init(struct vc_data *vc, int init) cap = info->flags; - if (console_loglevel <= CONSOLE_LOGLEVEL_QUIET) + if (logo_shown < 0 && console_loglevel <= CONSOLE_LOGLEVEL_QUIET) logo_shown = FBCON_LOGO_DONTSHOW; if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW || -- 2.21.0 -- Andreas Schwab, schwab@xxxxxxxxxxxxxx GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."