ps2: reset queue in ps2_reset_keyboard
authorGerd Hoffmann <kraxel@redhat.com>
Tue, 6 Jun 2017 11:21:05 +0000 (13:21 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 23 Jun 2017 09:51:50 +0000 (11:51 +0200)
When the guest resets the keyboard also clear the queue.  It is highly
unlikely that the guest is still interested in the events stuck in the
queue, and it avoids confusing the guest in case the queue is full and
the ACK can't be queued up.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1372583
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20170606112105.13331-4-kraxel@redhat.com

hw/input/ps2.c

index 2416b58cc00d65e16ff0dcb3e70d5da91b60bc8e..3ba05efd0656b66f5c9db33be7d0239d97790086 100644 (file)
@@ -740,6 +740,7 @@ static void ps2_reset_keyboard(PS2KbdState *s)
     trace_ps2_reset_keyboard(s);
     s->scan_enabled = 1;
     s->scancode_set = 2;
+    ps2_reset_queue(&s->common);
     ps2_set_ledstate(s, 0);
 }