[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