Hi Marc Zyngier, Thanks for the feedback. > -----Original Message----- > From: Marc Zyngier <maz@xxxxxxxxxx> > Sent: Monday, February 19, 2024 3:57 PM > Subject: Re: [tip: irq/msi] genirq/irqdomain: Remove the param count > restriction from select() > > On Mon, 19 Feb 2024 15:50:36 +0000, > Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > > > > > Now that the GIC-v3 callback can handle invocation with a fwspec > > > parameter count of 0 lift the restriction in the core code and > > > invoke select() unconditionally when the domain provides it. > > > > This patch breaks on RZ/G2L SMARC EVK as of_phandle_args_to_fwspec > > count() is called after irq_find_matching_fwspec() is causing > > fwspec->param_count=0 and this results in boot failure as the patch > removes the check. > > > > Maybe we need to revert this patch or fix the fundamental issue. > > > > Cheers, > > Biju > > --- > > kernel/irq/irqdomain.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index > > 0bdef4f..8fee379 100644 > > --- a/kernel/irq/irqdomain.c > > +++ b/kernel/irq/irqdomain.c > > @@ -448,7 +448,7 @@ struct irq_domain *irq_find_matching_fwspec(struct > irq_fwspec *fwspec, > > */ > > mutex_lock(&irq_domain_mutex); > > list_for_each_entry(h, &irq_domain_list, link) { > > - if (h->ops->select && fwspec->param_count) > > + if (h->ops->select) > > rc = h->ops->select(h, fwspec, bus_token); > > else if (h->ops->match) > > rc = h->ops->match(h, to_of_node(fwnode), bus_token); > > > > > > Dmitry posted his take on this at [1], and I have suggested another > possible fix in my reply. > > Could you please give both patches a go? I tested and confirm both the patches looks good. Cheers, Biju