libpayload/libc/console: Flush input driver buffer on init
When console input driver registers itself, perform flush of input buffer to avoid interpreting any stale key presses before libpayload is run. keyboard.c: Remove the redundant buffer flush. 8250.c: Ensure that serial_hardware_is_present is set before call to add input driver. BUG=b:37273808 TEST=Verified that any key presses in serial console before payload is up do not have any effect after the payload starts running. Change-Id: I46f1b6715ccf6418f5b2c741bf90db2ece26a60d Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://review.coreboot.org/19345 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
committed by
Furquan Shaikh
parent
22b22b6988
commit
342f5f836c
@ -76,6 +76,9 @@ void console_add_input_driver(struct console_input_driver *in)
|
||||
/* Check if this driver was already added to the console list */
|
||||
if (input_driver_exists(in))
|
||||
return;
|
||||
/* Flush out the driver input buffer. */
|
||||
while (in->havekey())
|
||||
in->getchar();
|
||||
in->next = console_in;
|
||||
console_in = in;
|
||||
}
|
||||
|
Reference in New Issue
Block a user