ps2kbd: default to scan enabled after reset
authorHervé Poussineau <hpoussin@reactos.org>
Sun, 21 Oct 2018 19:07:21 +0000 (21:07 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 27 Nov 2018 06:47:50 +0000 (07:47 +0100)
A check for scan_enabled has been added to ps2_keyboard_event in commit
143c04c7e0639e53086519592ead15d2556bfbf2 to prevent stream corruption.
This works well as long as operating system is resetting keyboard, or enabling it.

This fixes IBM 40p firmware, which doesn't bother sending KBD_CMD_RESET,
KBD_CMD_ENABLE or KBD_CMD_RESET_ENABLE before trying to use the keyboard.

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20181021190721.2148-1-hpoussin@reactos.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/input/ps2.c

index 6c43fc2912baf6426ff28e879423719e67c64a70..eb33ee9b6f0d294e8f165e1550dca8366707ba5c 100644 (file)
@@ -942,7 +942,7 @@ static void ps2_kbd_reset(void *opaque)
 
     trace_ps2_kbd_reset(opaque);
     ps2_common_reset(&s->common);
-    s->scan_enabled = 0;
+    s->scan_enabled = 1;
     s->translate = 0;
     s->scancode_set = 2;
     s->modifiers = 0;