ldube commented on PR #12825:
URL: https://github.com/apache/nuttx/pull/12825#issuecomment-2267244953
I think arm_decodeirq needs to be updated. The return value is important. If
nothing changes, you return the argument instead of NULL. I do not call
irq_dispatch directly. That is done by arm_doirq.
Here is my arm_decodeirq:
uint32_t *arm_decodeirq(uint32_t *regs)
{
#ifdef CONFIG_SUPPRESS_INTERRUPTS
err("ERROR: Unexpected IRQ\n");
PANIC();
#else
unsigned int irq_enc = ic_getreg32(INTR_IRQ_ENC_ST_OFFSET) >> 2;
if (irq_enc != 0)
{
unsigned int irq = irq_enc - 1;
/* Verify that the resulting IRQ number is valid */
if (irq < NR_IRQS)
{
/* Deliver the IRQ */
regs = arm_doirq(irq, regs);
}
}
#endif
return regs;
}
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]