Message ID | 20210505192133.7480-2-vr_qemu@t-online.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | PS/2 controller related fixes | expand |
On 5/5/21 9:21 PM, Volker Rümelin wrote: > ps2_queue() behaves differently than the very similar functions > ps2_queue_2() to ps2_queue_4(). The first one calls update_irq() > even if the queue is full, the others don't. Change ps2_queue() > to be consistent with the others. > > Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> > --- > hw/input/ps2.c | 4 ++++ > 1 file changed, 4 insertions(+) Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff --git a/hw/input/ps2.c b/hw/input/ps2.c index d9f79e8260..55a81a0c51 100644 --- a/hw/input/ps2.c +++ b/hw/input/ps2.c @@ -212,6 +212,10 @@ void ps2_raise_irq(PS2State *s) void ps2_queue(PS2State *s, int b) { + if (PS2_QUEUE_SIZE - s->queue.count < 1) { + return; + } + ps2_queue_noirq(s, b); s->update_irq(s->update_arg, 1); }
ps2_queue() behaves differently than the very similar functions ps2_queue_2() to ps2_queue_4(). The first one calls update_irq() even if the queue is full, the others don't. Change ps2_queue() to be consistent with the others. Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> --- hw/input/ps2.c | 4 ++++ 1 file changed, 4 insertions(+)