diff mbox series

fbcon: Don't reset logo_shown when logo is currently shown

Message ID 87imvwp9d4.fsf_-_@igel.home (mailing list archive)
State New, archived
Headers show
Series fbcon: Don't reset logo_shown when logo is currently shown | expand

Commit Message

Andreas Schwab April 2, 2019, 6:09 p.m. UTC
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@linux-m68k.org>
---
On Apr 02 2019, Prarit Bhargava <prarit@redhat.com> wrote:

> On 4/1/19 3:31 PM, Andreas Schwab wrote:
>> On Jan 29 2019, Prarit Bhargava <prarit@redhat.com> 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(-)

Comments

Bartlomiej Zolnierkiewicz May 6, 2019, 1:32 p.m. UTC | #1
On 04/02/2019 08:09 PM, Andreas Schwab wrote:
> 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@linux-m68k.org>

Patch queued for v5.2, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
diff mbox series

Patch

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 ||