Re: [RESEND PATCH v1 1/9] spmi: pmic-arb: add a print in cleanup_irq

From: Fenglin Wu
Date: Thu Oct 14 2021 - 21:28:15 EST



On 10/15/2021 9:09 AM, Stephen Boyd wrote:
Quoting Fenglin Wu (2021-10-13 19:26:55)
On 10/14/2021 3:35 AM, Stephen Boyd wrote:
Quoting Fenglin Wu (2021-10-12 21:15:42)
On 10/13/2021 1:46 AM, Stephen Boyd wrote:
Quoting Fenglin Wu (2021-09-16 23:32:56)
From: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx>

The cleanup_irq() was meant to clear and mask interrupts that were
left enabled in the hardware but there was no interrupt handler
registered for it. Add an error print when it gets invoked.
Why? Don't we get the genirq spurious irq message in this scenario?
Thanks for reviewing the change.

No, there is no existing message printed out in this special case ( IRQ
fired for not registered interrupt).
Ah I see so the irq doesn't have a flow handler? Shouldn't you call
handle_bad_irq() in this case so we get a irq descriptor print?
In such case, the irq number is not valid and there won't be a valid
irq_desc, hence it's not possible to call handle_bad_irq() here.
I mean handle_bad_irq() on the irqdesc for the spmi pmic arb chained
irq. Because things are not good with the chained irq.
Okay, how about this, Update periph_interrupt() function with a return
value, and return -EINVAL once an invalid IRQ is detected. In
pmic_arb_chained_irq(), call handle_bad_irq() if periph_interrupt()
returned -EINVAL.