Furquan Shaikh has uploaded this change for review. ( https://review.coreboot.org/27290
Change subject: payloads/libpayload/drivers/i8042: Disable scanning on disconnect ......................................................................
payloads/libpayload/drivers/i8042: Disable scanning on disconnect
This change ensures that keyboard scanning is disabled and keyboard is set to default state while disconnecting the keyboard. This is required to ensure that the controller doesn't keep scanning and buffering keystrokes which could lead to OS drivers reading stale data.
BUG=b:110024487 TEST=Verified that kernel driver is able to probe correctly even if multiple keys are pressed during handoff from payload to OS.
Change-Id: I1ffb8904d545284454c1825ee2e7c0087fc13762 Signed-off-by: Furquan Shaikh furquan@google.com --- M payloads/libpayload/drivers/i8042/keyboard.c 1 file changed, 3 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/90/27290/1
diff --git a/payloads/libpayload/drivers/i8042/keyboard.c b/payloads/libpayload/drivers/i8042/keyboard.c index d5606a3..062aec2 100644 --- a/payloads/libpayload/drivers/i8042/keyboard.c +++ b/payloads/libpayload/drivers/i8042/keyboard.c @@ -338,6 +338,9 @@ while (keyboard_havechar()) keyboard_getchar();
+ /* Disable scanning */ + keyboard_cmd(I8042_KBCMD_DEFAULT_DIS); + /* Send keyboard disconnect command */ i8042_cmd(I8042_CMD_DIS_KB);