Only trigger multi-queue GEM interrupts if the interrupt status register is set. This logic was already used for non multi-queue interrupts but it also applies to multi-queue interrupts.
Signed-off-by: Alistair Francis <[email protected]> --- hw/net/cadence_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c index 3e37665..b9eaed4 100644 --- a/hw/net/cadence_gem.c +++ b/hw/net/cadence_gem.c @@ -518,7 +518,7 @@ static void gem_update_int_status(CadenceGEMState *s) } for (i = 0; i < s->num_priority_queues; ++i) { - if (s->regs[GEM_INT_Q1_STATUS + i]) { + if (s->regs[GEM_INT_Q1_STATUS + i] && s->regs[GEM_ISR]) { DB_PRINT("asserting int. (q=%d)\n", i); qemu_set_irq(s->irq[i], 1); } -- 2.9.3
