Skip to content

Commit 7b8cbe5

Browse files
stevenlee7189legoater
authored andcommitted
hw/intc/aspeed: Fix IRQ handler mask check
Updated the IRQ handler mask check to AND with select variable. This ensures that the interrupt service routine is correctly triggered for the interrupts within the same irq group. For example, both `eth0` and the debug UART are handled in `GICINT132`. Without this fix, the debug console may hang if the `eth0` ISR is not handled. Signed-off-by: Steven Lee <[email protected]> Change-Id: Ic3609eb72218dfd68be6057d78b8953b18828709 Reviewed-by: Cédric Le Goater <[email protected]> Fixes: d831c5f ("aspeed/intc: Add AST2700 support") Link: https://lore.kernel.org/qemu-devel/[email protected] Signed-off-by: Cédric Le Goater <[email protected]>
1 parent d4dfb4f commit 7b8cbe5

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

hw/intc/aspeed_intc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ static void aspeed_intc_set_irq_handler(AspeedINTCState *s,
111111
outpin_idx = intc_irq->outpin_idx;
112112
inpin_idx = intc_irq->inpin_idx;
113113

114-
if (s->mask[inpin_idx] || s->regs[status_reg]) {
114+
if ((s->mask[inpin_idx] & select) || (s->regs[status_reg] & select)) {
115115
/*
116116
* a. mask is not 0 means in ISR mode
117117
* sources interrupt routine are executing.

0 commit comments

Comments
 (0)