summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--payloads/libpayload/drivers/keyboard.c6
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)