[tip:,irq/msi] genirq/irqdomain: Remove the param count restriction from select()

Message ID 65d378e6.630a0220.3c09b.5f8aSMTPIN_ADDED_BROKEN@mx.google.com
State New
Headers
Series [tip:,irq/msi] genirq/irqdomain: Remove the param count restriction from select() |

Commit Message

Biju Das Feb. 19, 2024, 3:50 p.m. UTC
  > 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(-)
  

Patch

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);