[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240219-gic-fix-child-domain-v1-1-09f8fd2d9a8f@linaro.org>
Date: Mon, 19 Feb 2024 16:47:37 +0200
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Marc Zyngier <maz@...nel.org>, Thomas Gleixner <tglx@...utronix.de>,
Anup Patel <apatel@...tanamicro.com>
Cc: Konrad Dybcio <konrad.dybcio@...aro.org>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Subject: [PATCH] irqchip/gic-v3: handle DOMAIN_BUS_ANY in
gic_irq_domain_select
Before the commit de1ff306dcf4 ("genirq/irqdomain: Remove the param
count restriction from select()") the irq_find_matching_fwspec() was
handling the DOMAIN_BUS_ANY on its own. After this commit it is a job of
the select() callback. However the callback of GICv3 (even though it got
modified to handle zero param_count) wasn't prepared to return true for
DOMAIN_BUS_ANY bus_token.
This breaks probing of any of the child IRQ domains, since
platform_irqchip_probe() uses irq_find_matching_host(par_np,
DOMAIN_BUS_ANY) to check for the presence of the parent IRQ domain.
Fixes: 151378251004 ("irqchip/gic-v3: Make gic_irq_domain_select() robust for zero parameter count")
Fixes: de1ff306dcf4 ("genirq/irqdomain: Remove the param count restriction from select()")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
---
drivers/irqchip/irq-gic-v3.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index 6fb276504bcc..e9e9643c653f 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -1696,7 +1696,8 @@ static int gic_irq_domain_select(struct irq_domain *d,
/* Handle pure domain searches */
if (!fwspec->param_count)
- return d->bus_token == bus_token;
+ return d->bus_token == bus_token ||
+ bus_token == DOMAIN_BUS_ANY;
/* If this is not DT, then we have a single domain */
if (!is_of_node(fwspec->fwnode))
---
base-commit: 35a4fdde2466b9d90af297f249436a270ef9d30e
change-id: 20240219-gic-fix-child-domain-8a1840be9ff5
Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Powered by blists - more mailing lists