[PATCH] console: return no pending character when console input forbidden

Sascha Hauer s.hauer at pengutronix.de
Fri Dec 5 06:28:32 PST 2025


When console input is forbidden but was previously allowed then it can
happen that there are still characters left in the input fifo and
tstc() consequently returns 1. Code which then tries to read the pending
character will be stuck in getchar(). Fix this by returning 0 from
tstc() when console input is forbidden.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 common/console.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/common/console.c b/common/console.c
index 95e5fb4df3..fb75077812 100644
--- a/common/console.c
+++ b/common/console.c
@@ -568,6 +568,9 @@ EXPORT_SYMBOL(getchar);
 
 int tstc(void)
 {
+	if (!IS_ALLOWED(SCONFIG_CONSOLE_INPUT))
+		return 0;
+
 	return kfifo_len(console_input_fifo) || tstc_raw();
 }
 EXPORT_SYMBOL(tstc);
-- 
2.47.3




More information about the barebox mailing list