From: Volker Rümelin Date: Tue, 25 May 2021 18:14:31 +0000 (+0200) Subject: ps2: don't raise an interrupt if queue is full X-Git-Tag: v6.1.0~150^2~11 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=7704bb02dd73070b218fb091cdda79679dab2b8f;p=mirror_qemu.git ps2: don't raise an interrupt if queue is full 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. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Volker Rümelin Message-Id: <20210525181441.27768-2-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann --- diff --git a/hw/input/ps2.c b/hw/input/ps2.c index 7a3fb2b9f6..7c7a158e31 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); }