libpayload: Fix handling of CAPS LOCK key on PS/2 keyboards
[coreboot.git] / payloads / libpayload / drivers / keyboard.c
index 0663f47bc636f2e1acd88f0ef2aafceb118555bb..717ee5541cd70919e0a8e9130ac8e1dabbf47961 100644 (file)
@@ -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)