All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Mladek <pmladek@suse.com>
To: Chris Down <chris@chrisdown.name>
Cc: John Ogness <john.ogness@linutronix.de>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Marcos Paulo de Souza <mpdesouza@suse.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/8] printk: Try to register each console as Braille first
Date: Thu, 19 Feb 2026 17:59:11 +0100	[thread overview]
Message-ID: <aZdBX8fALelNDuN4@pathway.suse.cz> (raw)
In-Reply-To: <aZclWqNDoWyBCTwk@chrisdown.name>

On Thu 2026-02-19 22:59:38, Chris Down wrote:
> Petr Mladek writes:
> > @@ -3918,6 +3922,12 @@ static int try_enable_preferred_console(struct console *newcon,
> > 		    newcon->match(newcon, pc->name, pc->index, pc->options) != 0) {
> > 			/* default matching */
> > 			BUILD_BUG_ON(sizeof(pc->name) != sizeof(newcon->name));
> > +			/*
> > +			 * Two entries might have the same pc->name when one was
> > +			 * defined via "devname".
> > +			 */
> > +			if (try_only_braille && !is_braille_console_preferred(pc))
> > +				continue;
> > 			if (strcmp(pc->name, newcon->name) != 0)
> > 				continue;
> > 			if (newcon->index >= 0 &&
> > @@ -3926,7 +3936,7 @@ static int try_enable_preferred_console(struct console *newcon,
> > 			if (newcon->index < 0)
> > 				newcon->index = pc->index;
> > 
> > -			if (is_braille_console_preferred(pc))
> > +			if (try_only_braille)
> > 				return _braille_register_console(newcon, pc);
> > 
> > 			err = console_call_setup(newcon, pc->options);
> 
> This doesn't look right to me. By putting the Braille dispatch inside the if
> block, you bypass it whenever newcon->match matches.
> 
> So that means if a console driver matches, the execution skips this default
> matching block completely, falls through, and silently sets CON_ENABLED
> without ever registering it as a Braille console or adding it to
> console_list, and the console is silently lost.
> 
> The try_only_braille and is_braille_console_preferred(pc) checks likely need
> to happen before or independently of the match() vs. default matching
> branch.

This should never happen because register_console() always tries to
register Braille consoles first.

This patch adds the following hunk into register_console():

@@ -4173,6 +4194,20 @@ void register_console(struct console *newcon)
 			goto unlock;
 	}
 
+	/*
+	 * First, try to enable the console driver as a Braille console.
+	 * It would have metadata in the preferred_consoles[] array.
+	 * But it won't be counted as @preferred_console because
+	 * it does not get printk() messages and is not associated
+	 * with /dev/console.
+	 */
+	if (want_braille_console) {
+		err = try_enable_braille_console(newcon);
+		/* Return on success or when con->setup failed. */
+		if (err != -ENOENT)
+			goto unlock_free;
+	}
+
 	/*
 	 * See if we want to enable this console driver by default.
 	 *

I am going to add a comment into try_enable_preferred_console() about
this.

Best Regards,
Petr

  reply	other threads:[~2026-02-19 16:59 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-06 16:49 [PATCH 0/8] printk: Clean up preferred console handling Petr Mladek
2026-02-06 16:49 ` [PATCH 1/8] printk: Rename struct console_cmdline to preferred_console Petr Mladek
2026-02-19 14:40   ` Chris Down
2026-02-19 18:34   ` Marcos Paulo de Souza
2026-02-06 16:49 ` [PATCH 2/8] printk: Rename preferred_console to preferred_dev_console Petr Mladek
2026-02-19 14:41   ` Chris Down
2026-02-19 18:37   ` Marcos Paulo de Souza
2026-02-06 16:49 ` [PATCH 3/8] printk: Separate code for adding/updating preferred console metadata Petr Mladek
2026-02-16 14:05   ` John Ogness
2026-02-19 12:46     ` Petr Mladek
2026-02-19 14:06       ` John Ogness
2026-02-19 14:48   ` Chris Down
2026-02-19 16:51     ` Petr Mladek
2026-02-06 16:49 ` [PATCH 4/8] printk: Cleanup _braille_(un)register_console() wrappers Petr Mladek
2026-02-19 14:49   ` Chris Down
2026-02-19 18:50   ` Marcos Paulo de Souza
2026-02-06 16:49 ` [PATCH 5/8] printk: Try to register each console as Braille first Petr Mladek
2026-02-19 14:59   ` Chris Down
2026-02-19 16:59     ` Petr Mladek [this message]
2026-02-20  4:52       ` Chris Down
2026-02-20 11:43         ` Petr Mladek
2026-02-06 16:50 ` [PATCH 6/8] printk: Do not set Braille console as preferred_console Petr Mladek
2026-02-16 16:07   ` John Ogness
2026-02-19 14:55     ` Petr Mladek
2026-02-19 15:35       ` John Ogness
2026-02-19 15:03   ` Chris Down
2026-02-06 16:50 ` [PATCH 7/8] printk: Handle pre-enabled consoles directly in register_console() Petr Mladek
2026-02-19 15:03   ` Chris Down
2026-02-06 16:50 ` [PATCH 8/8] printk: Try enable preferred consoles only when there are any Petr Mladek
2026-02-19 15:16   ` Chris Down
2026-02-17  8:56 ` [PATCH 0/8] printk: Clean up preferred console handling John Ogness
2026-02-19 15:20 ` Chris Down

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aZdBX8fALelNDuN4@pathway.suse.cz \
    --to=pmladek@suse.com \
    --cc=chris@chrisdown.name \
    --cc=john.ogness@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpdesouza@suse.com \
    --cc=rostedt@goodmis.org \
    --cc=senozhatsky@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.