diff options
-rw-r--r-- | payloads/libpayload/drivers/keyboard.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/payloads/libpayload/drivers/keyboard.c b/payloads/libpayload/drivers/keyboard.c index 0663f47bc6..717ee5541c 100644 --- a/payloads/libpayload/drivers/keyboard.c +++ b/payloads/libpayload/drivers/keyboard.c @@ -166,11 +166,13 @@ static struct layout_maps keyboard_layouts[] = { static void keyboard_cmd(unsigned char cmd, unsigned char val) { + while (inb(0x64) & 2); outb(cmd, 0x60); - /* wait until keyboard controller accepts cmds: */ + mdelay(20); + while (inb(0x64) & 2); outb(val, 0x60); - while (inb(0x64) & 2); + mdelay(20); } int keyboard_havechar(void) |