diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2017-06-06 13:21:05 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2017-06-23 11:51:50 +0200 |
commit | 6e24ee0c1e4b6c0c9c748acab77ecd113c942a4d (patch) | |
tree | 216f09b0c312cabea6f28a927bc95633560b233d /hw/input | |
parent | 954ee55bd528a97347f19f815e00f1e375f82f0a (diff) | |
download | qemu-6e24ee0c1e4b6c0c9c748acab77ecd113c942a4d.zip qemu-6e24ee0c1e4b6c0c9c748acab77ecd113c942a4d.tar.gz qemu-6e24ee0c1e4b6c0c9c748acab77ecd113c942a4d.tar.bz2 |
ps2: reset queue in ps2_reset_keyboard
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
Diffstat (limited to 'hw/input')
-rw-r--r-- | hw/input/ps2.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/input/ps2.c b/hw/input/ps2.c index 2416b58..3ba05ef 100644 --- a/hw/input/ps2.c +++ b/hw/input/ps2.c @@ -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); } |