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> Reviewed-on: https://review.coreboot.org/27290 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
1299dc107d
commit
6756c16e82
|
@ -338,6 +338,9 @@ void keyboard_disconnect(void)
|
||||||
while (keyboard_havechar())
|
while (keyboard_havechar())
|
||||||
keyboard_getchar();
|
keyboard_getchar();
|
||||||
|
|
||||||
|
/* Disable scanning */
|
||||||
|
keyboard_cmd(I8042_KBCMD_DEFAULT_DIS);
|
||||||
|
|
||||||
/* Send keyboard disconnect command */
|
/* Send keyboard disconnect command */
|
||||||
i8042_cmd(I8042_CMD_DIS_KB);
|
i8042_cmd(I8042_CMD_DIS_KB);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue