From: Ahmad Fatoum <[email protected]>

The ^\q panic hotkey is checked on every byte any console reads, so a
console whose device file carries binary data, like a future 9P trans_fd,
kills barebox as soon as the two bytes show up in the stream.

Only check consoles that are active for stdin.

Assisted-by: Claude:opus-5.5
Signed-off-by: Ahmad Fatoum <[email protected]>
---
 drivers/serial/linux_console.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/serial/linux_console.c b/drivers/serial/linux_console.c
index b8303dfd12ef..6256232d594b 100644
--- a/drivers/serial/linux_console.c
+++ b/drivers/serial/linux_console.c
@@ -38,7 +38,7 @@ static int linux_console_getc(struct console_device *cdev)
 
        linux_read(d->stdinfd, &c, 1);
 
-       if (old_c == 0x1c && c == 'q')
+       if ((cdev->f_active & CONSOLE_STDIN) && old_c == 0x1c && c == 'q')
                panic("^\\q pressed - exiting");
 
        old_c = c;
-- 
2.47.3


Reply via email to